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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

c# Attribute 反射問(wèn)題

c# Attribute 反射問(wèn)題

qq_遁去的一_1 2018-07-26 13:14:17
public abstract class TotalTestAttribute{[Length(50)][Cluom]public string name { get; set; }public string sex { get; set; }}上面只是我隨便寫(xiě)的一個(gè)屬性例子我想我的model 想個(gè) Attribute,然后通過(guò)反正這個(gè)model,獲取這個(gè)Attribute,然后判斷有這個(gè)Attribute怎么,沒(méi)有又怎么樣但是如果有多個(gè)不相同 Attribute  作用的同一個(gè)屬性,循環(huán)判斷顯然不行,想到子類都繼承至一個(gè)父類,然后父類做好所有的的功能,每個(gè)子類只實(shí)現(xiàn)父類部分功能,但是怎么反射會(huì)這個(gè)父類呢?或者說(shuō)這個(gè)想法就不行,望高手指點(diǎn)?其實(shí)我的真正的想法就是寫(xiě)個(gè)方法,傳進(jìn)一個(gè)model后,就自動(dòng)生成sql語(yǔ)句,但是這個(gè)model我想添加一些標(biāo)記,比如類名是代表表名,但是也可以自定 重命名的 Attribute  ,比如屬性名可以加 表示這個(gè)屬性是否是表的列名,重命名列,這列的長(zhǎng)度和類型能, 我想到了mvc中Attribute  ,一個(gè)屬性上有很多的Attribute  ,他們的后面機(jī)制是怎么處理的?
查看完整描述

2 回答

?
繁星淼淼

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超11個(gè)贊

多個(gè)Attribute,當(dāng)然就循環(huán)處理了,只是循環(huán)里的的實(shí)現(xiàn)模式有技巧,比如職責(zé)鏈、命令模式,這樣就可以把邏輯理的很清楚。

取父類類型可以通過(guò) GetBaseType 來(lái)取。

鑒于你要實(shí)現(xiàn)的完整功能,你可以直接使用EF的Code First模式,如果要知道最佳的實(shí)現(xiàn)方式,你可以把EF的源代碼反編譯出來(lái)查看下。


查看完整回答
反對(duì) 回復(fù) 2018-07-30
?
小唯快跑啊

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個(gè)贊

GetCustomAttributes(Type,bool) 可以指定類型獲取自定義屬性,如果獲取父類可以先獲取父類型。
循環(huán)沒(méi)有問(wèn)題,反射之后緩存起來(lái)不要每次都反射就行。


查看完整回答
反對(duì) 回復(fù) 2018-07-30
  • 2 回答
  • 0 關(guān)注
  • 544 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)