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

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

怎樣實例化 泛型類型?

怎樣實例化 泛型類型?

BIG陽 2018-11-07 05:02:40
我定義了一個泛型類(下面的例子),我需要在類中實例化一個T,但是卻無法使用new T()。而用default(T)卻只能得到null或0。應該怎么做。public class MyClass<T> {    public T Get()    {        T t = new T();        return t;    }}
查看完整描述

2 回答

?
小唯快跑啊

TA貢獻1863條經驗 獲得超2個贊

請如以下代碼示例使用:

public class MyClass<T> where T : new()
{
    public T Get()
    {
        return new T();
    }
}

C# 編譯器無法保證你的代碼在引用類型時也能安全通過,因為有時候我們會在類中使用 private 修飾構造函數。所以需要一個顯示的構造器約束。而值類型已經滿足上述要求。


查看完整回答
反對 回復 2018-11-12
?
弒天下

TA貢獻1818條經驗 獲得超8個贊

public class MyClass<T> where T : new()

增加泛型約束


查看完整回答
反對 回復 2018-11-12
  • 2 回答
  • 0 關注
  • 468 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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