Meh*_*hdi 1 .net c# reflection
我正在编写一个程序,我有一些不扩展任何类的类.
我想知道运行时是否可以进行动态继承.我的意思是,如果一个或多个类可以在运行时从类派生.
支持原型继承的语言(例如JScript)允许您执行与您描述的非常相似的操作.也就是说,通过原型继承,您可以在运行时决定继承方法的形状是与"特定"原型相关联的"实例"的形状.
抱歉,C#不支持此功能.如果你描述了你想要它的原因,也许我们可以在C#中找到另一种方法.
你可以看看Reflection Emit。还有像Castle Dynamic Proxy和Cecil这样的框架可以简化这个任务。
更新:
现在,如果我理解正确,你有一些类,并且你想让这个类在运行时从另一个基类派生。让我们通过一个反例来证明这是不可能的:
假设有一种方法允许您执行此操作。考虑以下类:
public class Foo {}
Run Code Online (Sandbox Code Playgroud)
您可以使用此方法说 Foo 派生自System.IO.Stream显然不是这种情况,从而导致初始假设错误。
反射发出可能是在运行时生成一个动态类,该类继承自基类或实现接口。