相关疑难解决方法(0)

使用Reflection获取父类的名称

如何使用Reflection获取某些类的父类的名称?

.net reflection

41
推荐指数
6
解决办法
3万
查看次数

如何打印出对象的所有基本类型?

我有一个对象,我想打印出它的所有父类型到对象?怎么做?

.net c#

7
推荐指数
1
解决办法
6889
查看次数

如何测试两个泛型是否具有基本子类关系而不实例化它们?

我有以下通用类:

class Base<T> where T : ... { ... }
class Derived<T> : Base<T> where T : ... { ... }
class Another<T> where T : ... { ... }
class DerivedFromDerived<T> : Derived<T> where T : ... { ... }
Run Code Online (Sandbox Code Playgroud)

在我的代码中的某处,我想测试给定的泛型是否继承Base<T>,而不创建泛型的特定实例.我怎么做?

static bool DerivedFromBase(Type type) { /* ??? */ }

static void Main(string[] args)
{
    Console.WriteLine(DerivedFromBase(typeof(Derived<>)));            // true
    Console.WriteLine(DerivedFromBase(typeof(Another<>)));            // false
    Console.WriteLine(DerivedFromBase(typeof(DerivedFromDerived<>))); // true
    Console.ReadKey(true);
}
Run Code Online (Sandbox Code Playgroud)

编辑:谢谢马克.现在我看到了光明.我最初尝试过以下内容:

typeof(Derived<>).BaseType == typeof(Base<>)
Run Code Online (Sandbox Code Playgroud)

显然,这是正确的.但事实并非如此.问题是,BaseT与T的不同Derived …

c# generics reflection

5
推荐指数
1
解决办法
384
查看次数

标签 统计

.net ×2

c# ×2

reflection ×2

generics ×1