第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

創(chuàng)建泛型類型的實例?

創(chuàng)建泛型類型的實例?

慕的地10843 2019-08-26 14:02:25
創(chuàng)建泛型類型的實例?如果BaseFruit有一個接受一個的構造函數(shù),int weight我可以用這樣的泛型方法實例化一塊水果嗎?public void AddFruit<T>()where T: BaseFruit{     BaseFruit fruit = new T(weight); /*new Apple(150);*/     fruit.Enlist(fruitManager);}注釋后面添加了一個示例。如果我給出BaseFruit一個無參數(shù)構造函數(shù)然后通過成員變量填充所有內(nèi)容,我似乎只能這樣做。在我的真實代碼中(不是關于水果),這是不切實際的。-Update-所以它似乎無法以任何方式通過約束來解決。從答案中有三種候選解決方案:工廠模式反射活化劑我傾向于認為反射是最不干凈的,但我不能在其他兩個之間做出決定。
查看完整描述

3 回答

?
慕村9548890

TA貢獻1884條經(jīng)驗 獲得超4個贊

作為user1471935建議的補充:

要使用帶有一個或多個參數(shù)的構造函數(shù)來實例化泛型類,現(xiàn)在可以使用Activator類。

T instance = Activator.CreateInstance(typeof(T), new object[] {...})

對象列表是您要提供的參數(shù)。根據(jù)微軟的說法

CreateInstance [...]使用與指定參數(shù)最匹配的構造函數(shù)創(chuàng)建指定類型的實例。

還有一個通用版本的CreateInstance(CreateInstance<T>()),但是它也不允許你提供構造函數(shù)參數(shù)。


查看完整回答
反對 回復 2019-08-26
  • 3 回答
  • 0 關注
  • 523 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號