关键词不能为空

当前您在: 主页 > 英语 >

C#通过反射获取类自定义特性描述列表

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-02 07:31
tags:

-

2021年2月2日发(作者:difficulties)


C#


通过反射获取类自定义特性描述列表



OO


真的是个有趣的东西,我们都知道,创建类的时候,我们可以声 明属性


(property)


、字段


( field)


等,而特性(


Attribute


)为人注意。在


.NET


中,特性使用,可分为


.NET


自带特性(如


Descriptio n



和自定义特性。



由于需求需要,


本人粗浅研究了一下自定义特性的使用,


下面就返回类的自定义特性描述列表进行梳


理。



自定义特性类:






public



class


ImportHeaderAttribute : ute


{



public



string


ImportHeader {


get


;


set


; }




public



int


Index {


get


;


set


; }




public


ImportHeaderAttribute(


string


header,


int


index)


{


ImportHeader = header;


Index = index;


}


}



获取类自定义特性描述列表方法:






///






///



获取类自定义特性描述列表




///






///




目标类





///




自定义特性类





///




自定义特性





///




排序特性


(


升序


)


,默认


null


不排序





///


< p>


返回类自定义特性描述列表,


Key:


属性


(


字段

< br>)



value:


特性描述





public



static



IList


string


,


string


>>


GetDescriptionList


A>(


string


cusName,


string


index =


null


)


{



try



{


List


string


,


string


>> classList =


new



List


string


,


string


>>();


List


string


,


string


>> indexList =


new



List


string


,


string


>>();




string


key =


string


.Empty;



string


value =


string


.Empty;




#region



循环目标类属性




foreach


(PropertyInfo pro


in



typeof

< br>(T).GetProperties())


//


循环目 标


类属性


{



var


attridures = tomAttributes(


typeof


(A),


true


);


//


自 定义特性集合



key =



A a =


default


(A);



foreach


(


object


att


in


attridures)


{


a = (A)att;


//


转换为自定义特性类对象





var


aInfo = e().GetProperty( cusName);


//


获取对应特性


的属性对象




if


(aInfo !=


null


)


{


value = ue(a).ToString();


(


new


KeyValuePair<


string


,


string


>(key,


valu e));


//


赋值


}




if


(!


string


.IsNullOrEmpty(index))


{



var


aInfo2 = e().GetProperty(index);



if


(aInfo2 !=


null


)


{


value = ue(a).ToString();


(


new



KeyValuePair <


string


,


string


>(key,

-


-


-


-


-


-


-


-



本文更新与2021-02-02 07:31,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/598021.html

C#通过反射获取类自定义特性描述列表的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文