【发布时间】:2014-04-02 11:21:09
【问题描述】:
假设我有一个对象a,它属于A类:
abstract class A {
public abstract SomeType SomeMethod(int i)
public abstract SomeType SomeOtherMethod()
}
我可以/我如何创建一个 B 类的对象 b - 在运行时,它可以获取任何对象(比如 A)并包装它:
class B {
public void Wrap(object someObject) {}
}
这样我就可以编写以下代码:
var a = Factory.BuildAn<A>();
var b = new B();
b.Wrap(a);
b.SomeMethod(1);
【问题讨论】:
-
可以,但恐怕不值得。看到这个:Emitting Dynamic Methods and Assemblies
-
你不能在非抽象类
A中定义抽象方法。此外,抽象方法不能有主体。 -
@Selman22 哦,我的。那。听起来我真的不想在 c# 中这样做
标签: c# reflection