C#怎么利用反射来获取一个对象的 所有Attribute

C#怎么利用反射来获取一个对象的 所有Attribute,第1张

首先要获取对象的类型,根据类型再获取Attribute,同一类型的对象获取到的Attribute是相同的。

        static void Main(string[] args)

        {

            Type ty=typeof(SystemWindowsFormsButton);

            foreach (Attribute attribute in tyGetCustomAttributes(true))

            { 

                ConsoleWriteLine(attribute);

            }

            ConsoleRead();

        }

上述代码的结果如下:

SystemRuntimeInteropServicesComVisibleAttribute

SystemRuntimeInteropServicesClassInterfaceAttribute

SystemWindowsFormsSRDescriptionAttribute

SystemComponentModelDesignerAttribute

SystemComponentModelDesignerAttribute

SystemWindowsForms,Allow

SystemComponentModelDefaultPropertyAttribute

SystemComponentModelDefaultEventAttribute

SystemComponentModelDesignerAttribute

SystemComponentModelDesignSerializationDesignerSerializerAttribute

SystemComponentModelDesignerCategoryAttribute

ClassgetDeclaredMethod() 是获取这个类中所有的方法,返回的是Method[]如果有参数,第1个是方法名称,第2个是该方法的所有参数数组,这样返回的是Method这个对象Methodinvoke() 传入调用方法的类,另一个是调用这个方法所需要的参数,如果该方法没有参数,可以不填写,在JDK1,4之前,第2个参数是传入一个数组的,但是在jdk15之后,可以不传数组,多个参数用逗号隔开 不知道你听明白没

那就需要利用扩展方法,现将T的Type获取到,方法如下:

public static class Extensions

{

public static Type GetListItemType<T>(this IList<T> list)

{

return typeof(T);

}

}

以上就是关于C#怎么利用反射来获取一个对象的 所有Attribute全部的内容,包括:C#怎么利用反射来获取一个对象的 所有Attribute、Java反射机制获取set()方法 并且为set()方法传值、怎么通过反射获得实体类中List类型的对象的各个属性等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9648898.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存