亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C# - 如何在屬性或變量中分配泛型類型

C# - 如何在屬性或變量中分配泛型類型

C#
元芳怎么了 2021-06-21 09:10:43
我有兩個不同的包,比如 WebBundle 和 MobileBundle,我有一個單例通用類,它具有任何包的類型(在下面添加了通用單例代碼)。public class GenericSingleton<T> where T : class, new(){    private static readonly object padlock = new object();    private GenericSingleton() { }    private static T instance = null;    public static T Instance {         get        {            lock (padlock)            {                if (instance == null)                {                    instance = new T();                }                return instance;            }        }    }}當我執行以下行時,var web = GenericSingleton<WebBundle>.Instance;我在 web 變量中獲取 webbundle 類的實例,intellisense 為我提供了 WebBundle 中的所有可用方法?,F在我的要求是將此var web方法變量分配給類級別的屬性或變量,并且對于任何類型的包都應該是動態的。請幫助解決這個問題
查看完整描述

1 回答

?
隔江千里

TA貢獻1906條經驗 獲得超10個贊

您需要提取這些對象共享的公共接口或抽象類(或普通類,只是一些公共部分)。它們有相應的名稱,表明它們很相似。也許它們具有相同或相似的公共方法(可能不是全部,而是一些)、公共屬性或事件。你需要重構你的代碼,將那些常見的東西提取到一個實體中,并讓 T 在泛型類中實現它:

public class GenericSingleton<T> where T : ICommonInterface


查看完整回答
反對 回復 2021-06-26
  • 1 回答
  • 0 關注
  • 172 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號