草庐IT

Reflection

全部标签

c# - 获取一个类型的所有派生类型

是否有更好的(性能更高或代码更漂亮;)方法来查找某个类型的所有派生类型?目前我正在使用类似的东西:获取已用程序集中的所有类型检查我的所有类型是否为“IsAssignable”我想知道是否有更好的方法来做到这一点? 最佳答案 我once使用此Linq方法获取从基类型B继承的所有类型:varlistOfBs=(fromdomainAssemblyinAppDomain.CurrentDomain.GetAssemblies()//alternative:fromdomainAssemblyindomainAssembly.GetExpo

c# - 获取一个类型的所有派生类型

是否有更好的(性能更高或代码更漂亮;)方法来查找某个类型的所有派生类型?目前我正在使用类似的东西:获取已用程序集中的所有类型检查我的所有类型是否为“IsAssignable”我想知道是否有更好的方法来做到这一点? 最佳答案 我once使用此Linq方法获取从基类型B继承的所有类型:varlistOfBs=(fromdomainAssemblyinAppDomain.CurrentDomain.GetAssemblies()//alternative:fromdomainAssemblyindomainAssembly.GetExpo

c# - 查明一个类型是否实现了一个泛型接口(interface)

假设我有一个类型,MyType。我想执行以下操作:查明MyType是否为某些T实现了IList接口(interface)。如果(1)的答案是肯定的,找出T是什么。执行此操作的方法似乎是GetInterface(),但它只允许您按特定名称进行搜索。有没有一种方法可以搜索“所有形式为IList的接口(interface)”(如果可能的话,如果接口(interface)是IList的子接口(interface),它也会有用。)相关:Howtodetermineifatypeimplementsaspecificgenericinterfacetype 最佳答案

c# - 查明一个类型是否实现了一个泛型接口(interface)

假设我有一个类型,MyType。我想执行以下操作:查明MyType是否为某些T实现了IList接口(interface)。如果(1)的答案是肯定的,找出T是什么。执行此操作的方法似乎是GetInterface(),但它只允许您按特定名称进行搜索。有没有一种方法可以搜索“所有形式为IList的接口(interface)”(如果可能的话,如果接口(interface)是IList的子接口(interface),它也会有用。)相关:Howtodetermineifatypeimplementsaspecificgenericinterfacetype 最佳答案

c# - 如何获取一个类型的所有公共(public)(获取和设置)字符串属性

我正在尝试创建一个方法,该方法将遍历通用对象列表并替换它们所有string类型的属性,该属性要么是null要么是空的.做这件事的好方法是什么?到目前为止,我有这种……外壳……:publicstaticvoidReplaceEmptyStrings(Listlist,stringreplacement){varproperties=typeof(T).GetProperties(--WhatBindingFlags?--);foreach(varpinproperties){foreach(variteminlist){if(string.IsNullOrEmpty((string)p.

c# - 如何获取一个类型的所有公共(public)(获取和设置)字符串属性

我正在尝试创建一个方法,该方法将遍历通用对象列表并替换它们所有string类型的属性,该属性要么是null要么是空的.做这件事的好方法是什么?到目前为止,我有这种……外壳……:publicstaticvoidReplaceEmptyStrings(Listlist,stringreplacement){varproperties=typeof(T).GetProperties(--WhatBindingFlags?--);foreach(varpinproperties){foreach(variteminlist){if(string.IsNullOrEmpty((string)p.

c# - 如何获取应用了我的自定义属性的成员?

我正在创建一个customattribute在C#中,我想根据属性是应用于方法还是应用于属性来做不同的事情。起初我打算在我的自定义属性构造函数中执行newStackTrace().GetFrame(1).GetMethod()以查看调用属性构造函数的方法,但现在我不确定那会是什么给我吗。如果将属性应用于属性会怎样?GetMethod()会返回该属性的MethodBase实例吗?在C#中是否有不同的方法来获取应用了属性的成员?[AttributeUsage(AttributeTargets.Method|AttributeTargets.Property,AllowMultiple=tr

c# - 如何获取应用了我的自定义属性的成员?

我正在创建一个customattribute在C#中,我想根据属性是应用于方法还是应用于属性来做不同的事情。起初我打算在我的自定义属性构造函数中执行newStackTrace().GetFrame(1).GetMethod()以查看调用属性构造函数的方法,但现在我不确定那会是什么给我吗。如果将属性应用于属性会怎样?GetMethod()会返回该属性的MethodBase实例吗?在C#中是否有不同的方法来获取应用了属性的成员?[AttributeUsage(AttributeTargets.Method|AttributeTargets.Property,AllowMultiple=tr

c# - 在所有程序集中查找类型

我需要在网站或Windows应用程序的所有程序集中查找特定类型,有没有一种简单的方法可以做到这一点?就像ASP.NETMVC的Controller工厂如何查看Controller的所有程序集。谢谢。 最佳答案 实现这个有两个步骤:AppDomain.CurrentDomain.GetAssemblies()为您提供当前应用程序域中加载的所有程序集。Assembly类提供了一个GetTypes()方法来检索特定程序集中的所有类型。因此您的代码可能如下所示:foreach(AssemblyainAppDomain.CurrentDoma

c# - 在所有程序集中查找类型

我需要在网站或Windows应用程序的所有程序集中查找特定类型,有没有一种简单的方法可以做到这一点?就像ASP.NETMVC的Controller工厂如何查看Controller的所有程序集。谢谢。 最佳答案 实现这个有两个步骤:AppDomain.CurrentDomain.GetAssemblies()为您提供当前应用程序域中加载的所有程序集。Assembly类提供了一个GetTypes()方法来检索特定程序集中的所有类型。因此您的代码可能如下所示:foreach(AssemblyainAppDomain.CurrentDoma