相关疑难解决方法(0)

"开启类型"还有比这更好的选择吗?

看作C#无法打开一个Type(我收集的并不是作为特殊情况添加的,因为is-a关系意味着可能有多个不同的情况可能适用),是否有更好的方法来模拟切换类型?

void Foo(object o)
{
    if (o is A)
    {
        ((A)o).Hop();
    }
    else if (o is B)
    {
        ((B)o).Skip();
    }
    else
    {
        throw new ArgumentException("Unexpected type: " + o.GetType());
    }
}
Run Code Online (Sandbox Code Playgroud)

c# switch-statement system.type

312
推荐指数
15
解决办法
10万
查看次数

获取类型的所有派生类型

是否有更好的(更高性能或更好的代码;)方法来查找类型的所有派生类型?目前即时使用以下内容:

  1. 获取所用类型的所有类型
  2. 如果是'IsAssignable',请检查所有类型的类型

我想知道是否有更好的方式来做这件事?

.net c#

56
推荐指数
4
解决办法
4万
查看次数

使用反射发现派生类型

使用反射,是否可以发现从给定类型派生的所有类型?

据推测,范围将限于单个组件内.

.net c# reflection

32
推荐指数
4
解决办法
2万
查看次数

如何获取基类的所有继承类?

    class Foo { }

    class Foo1 : Foo { }

    class Foo2 : Foo { }
Run Code Online (Sandbox Code Playgroud)

我怎样才能将所有使用Foo的类作为基类?在同一程序集中不需要继承的类.

c# reflection inheritance assemblies

11
推荐指数
1
解决办法
6400
查看次数