PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_Sharp
[問題] 提取的方式
作者:
wind681201
(阿風~~)
2018-04-28 16:59:31
問題是這樣的,常常會遇到這樣的問題
public class C(){
private string Name;
}
簡單的例子,如上,常常會在開發上,需要用到之前的類別裡面,的一些資訊
像上面的例子,我需要 Name這個變數,但又不想修改 Class C,請問這樣的需求,
大家都會怎麼做?
作者:
vi000246
(Vi)
2018-04-28 17:19:00
再加一個public string GetName(){return this.Name};如果不能修改class的話應該是無解
作者:
Litfal
(Litfal)
2018-04-28 17:54:00
不能改class的話,還可以用反射
作者:
wind681201
(阿風~~)
2018-04-28 21:57:00
請問反射怎麼使用?可以抓到private?
作者:
geminily
(geminily)
2018-04-28 23:13:00
既然先前設計的類別成員會被使用到,為什麼不像一樓一樣設計一個公開的方法提取@@?
作者:
wind681201
(阿風~~)
2018-04-29 09:14:00
目前是使用一樓方式,只是想問有什麼更好的辨法
作者:
s4300026
(s4300026)
2018-04-29 13:46:00
如果name會某些因素更新,用prop的方式可以呼叫到最新的name你應該要問的是: 為什麼name不被開放出來給外部的人使用?
作者:
Litfal
(Litfal)
2018-04-29 15:53:00
可以改當然是改類別簡單又快速,不能改才考慮用反射去hack另外你知道prop可以設存取子吧?
作者:
wind681201
(阿風~~)
2018-04-29 21:04:00
知道,只是想找不用改之前人家寫的方式,來處理
作者:
vi000246
(Vi)
2018-04-29 23:55:00
反射的用法
https://goo.gl/KY4tVD
作者: t64141 (榕樹)
2018-04-30 00:34:00
反射其實是很不建議的下下策,直接加個GetName()或是改成public string Name{get; private set;} 都比反射好很多
作者: annies5 (念渝)
2018-05-09 14:33:00
繼承就好了啊, public class D: C{}
作者:
WoodChen
(木頭)
2018-05-13 17:17:00
繼承之後還是沒有 Name 吧?
作者:
Peruheru
(還在想)
2018-05-16 15:22:00
Private繼承了也沒用
繼續閱讀
[問題] 背景執行滑鼠點擊
kiey
[問題] 網路上多台電腦如何傳送訊號
jamyang
serialport
GooLoo
Re: [問題] 網路爬蟲 八卦版
MOONY135
[問題] 網路爬蟲 八卦版
l8PeakNeymar
[問題] 怎麼用C#取得資料表的每一個Column的描述
ken1325
[問題] 請問將Binary File讀取裝進byte陣列?
chrishappy11
[問題] 如何擷取VS的httpclient發出的封包
aoksc
[問題] c#與視訊攝影機結合
kn02545454
[問題] Asp.net 在IIS上無法切換頁面
areyo
Links
booklink
Contact Us: admin [ a t ] ucptt.com