Dar*_*mas 6 c# linq reflection linq-to-objects
我有一个叫做IStep可以做一些计算的接口(参见" 名词王国中的执行 ").在运行时,我想按类名选择适当的实现.
// use like this: IStep step = GetStep(sName);
你的问题很混乱......
如果要查找实现IStep的类型,请执行以下操作:
foreach (Type t in Assembly.GetCallingAssembly().GetTypes())
{
if (!typeof(IStep).IsAssignableFrom(t)) continue;
Console.WriteLine(t.FullName + " implements " + typeof(IStep).FullName);
}
Run Code Online (Sandbox Code Playgroud)
如果您已经知道所需类型的名称,请执行此操作
IStep step = (IStep)Activator.CreateInstance(Type.GetType("MyNamespace.MyType"));
Run Code Online (Sandbox Code Playgroud)