[英]C#: Lazy Loading, Delegate Class, Reflection
我有以下情況:
interface IMyInterface { ... }
定義具有屬性、方法等的通用接口。
class MyClass : ABaseClass, IMyInterface { ... }
實現 IMyInterface 並從基礎 class 派生。
class MyLazyLoadingClass : IMyInterface { ... }
返回某些方法/屬性的一些預定義值,並在訪問其他方法/屬性時通過委托創建 MyClass 的實例。 它還定義了以下轉換:
implicit operator MyClass(MyLazyLoadingClass myLazyLoadingClass) { ... }
它創建實例並返回它。 (備注:我知道隱式轉換不應該涉及此類操作,但由於現有系統設計,我沒有找到其他解決方案。)
基本上實施工作。 我的問題:
通過反射檢查 MyClass(或 MyLazyLoadingClass 代理對象)以確定/獲取/設置屬性/自定義屬性。 因為 MyLazyLoadingClass 不是從 ABaseClass 派生的,所以它不包含相同的屬性/方法/自定義/屬性。
有沒有辦法告訴 Reflection 在檢查 MyLazyLoadingClass 時它應該使用 MyClass 實例? 或者是否可以用加載的 MyClass 實例“替換” MyLazyLoadingClass 實例? (我真的不這么認為)。
不,我認為你不能那樣做。
但是您可能希望在運行時創建MyLazyLoadingClass
,而是通過向其添加方法等方式從ABaseClass
“派生”它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.