[問題] class能否做成自製型別
小弟最近無意間看到類別多型可以自製成類似list的東西,不知道觀念對不對
還有想自製型別要如何做
class clsA<T> where T : clsB
{
private List<clsB> mB = new List<clsB>();
public T this[int Index]
{
get
{return (T) mB[Index];}
set
{mB[Index] = value; }
}
public void Add(clsB b)
{
........
}
}
class clsB
{
public int X;
}
這樣我可以直接給實作後的東西使用Index作讀取
clsA AAA = new clsA();
clsB BBB = new clsB();
BBB.X = 5;
AAA.Add(BBB);
然後對AAA[Index]的X作讀寫
return AAA[Index].X;
AAA[Index].X = 10;
我現在想直接賦予AAA值或直接讀取AAA然後回傳一個我想要的值
AAA = 10;
return AAA;
這個class要如何做,還是不能做
類似宣告int
int iii;
iii = 10;
string sss = iii.ToString();
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.250.200.85
※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1442383750.A.8FE.html
→
09/16 23:34, , 1F
09/16 23:34, 1F
→
09/16 23:35, , 2F
09/16 23:35, 2F
推
09/17 09:39, , 3F
09/17 09:39, 3F
→
09/17 09:39, , 4F
09/17 09:39, 4F
抱歉我不知道要如何說明白
大致上是我想要直接把值給實作出來的class而非給class內部的變數
class clsBird
{
private string Name;
}
現在我想在任意時間點直接做強轉型給值
class clsBird Bird = new Bird();
...
Bird = (clsBird)"ThirtyCM";
而非只能在一開始給建構值
clsBird Bird = new clsBird("ThirtyCM");
因為不是很懂強轉型,弄半天弄不出來,所以上來請教大家
※ 編輯: dabiddabid (60.250.200.85), 09/18/2015 11:07:14
推
09/19 05:22, , 5F
09/19 05:22, 5F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章