C#:延迟加载、委托类、反射



我有以下情况:

interface IMyInterface { ... } 

定义具有属性、方法等的通用接口。

class MyClass : ABaseClass, IMyInterface { ... } 

实现 IMyInterface 并从基类派生。

class MyLazyLoadingClass : IMyInterface { ... } 
返回某些方法/属性

的一些预定义值,并在访问其他方法/属性时通过委托创建 MyClass 的实例。它还定义了以下转换:

implicit operator MyClass(MyLazyLoadingClass myLazyLoadingClass) { ... }

创建实例并返回它。(备注:我知道隐式转换不应该涉及此类操作,但由于现有的系统设计,我没有发现其他解决方案。

基本上实现有效。我的问题:

MyClass(或MyLazyLoadingClass代理对象(通过反射进行检查,以确定/获取/设置属性/自定义属性。因为MyLazyLoadingClass不是从ABaseClass派生的,所以它不包含相同的属性/方法/自定义/属性。

有没有办法告诉反射,当检查MyLazyLoadClass时,它应该使用MyClass实例? 或者是否可以用加载的MyClass实例"替换"MyLazyLoadClass实例?(我真的不这么认为(。

不,我认为你不能那样做。

但是您可能希望在运行时创建MyLazyLoadingClass,通过向其添加方法等方式使其从ABaseClass"派生"。

相关内容

  • 没有找到相关文章

最新更新