91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

【C#懶蛋編程——5分鐘經驗分享】03使用Description特性標簽,簡化查找表編寫

發布時間:2020-05-17 12:21:16 來源:網絡 閱讀:1501 作者:老G 欄目:游戲開發

因為篇幅很短,所以嘗試全文字寫法。幾分鐘看完的文字也沒必要用十幾分鐘寫完是吧。

Attribute(特性標簽)是C#中非常有用的一個特性,有用到什么程度呢?以至于C++的很多開發者,都通過自己的預處理器和標簽來增加這個功能(典型的如Qt和Unreal)

1.
在各種開發中,我們經常需要使用枚舉來代表一組特性,同時又需要一些文字描述,這些描述可能是路徑,或者是字符串,兩者是一一對應的。

比如,我定義了一組材質,每個對應不同的文件加載路徑。或者我定義了一組數據類型,每個對應不同的字符串簡寫。

我們自己寫的數據導出工具中,就有這種寫法。我在枚舉中設定了很多導出類型,如IntArray,FloatArray等,但是我想要在對應的地方,把這些類型輸出為字符串的簡寫,如IntArray輸出為"Int[]",FloatArray輸出為"Float[]"。要完成這一點,兩者需要一個簡單的對應關系。

如何做呢,可以做成Dictionary,也可以寫class,或者做成外部Config,方法很多,但是這些寫法都有一個問題,就是太羅嗦,內聚性不夠。

2.
C#中,我們可以使用Description標簽,把需要綁定的字符串內容填寫進去,然后寫一個函數,在需要的時候,把枚舉的這個Description抓出來就行了。

之前的寫法,你需要至少一組枚舉值和一個查找表,如果你用class或外部config,你要寫更多東西。

這種寫法下,你只需要一組帶Description標簽的枚舉就行了。那個抓取函數是提前寫好的,可以重復使用。代碼非常清晰簡潔,內聚很高。至于效率什么的我不擔心,畢竟我的應用領域,C#這種寫法一般都是小型的初始化,花上一點代價,讓代碼更清晰是值得的。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新邵县| 正镶白旗| 东丰县| 建瓯市| 财经| 文水县| 宁武县| 阿拉善右旗| 封丘县| 高州市| 胶南市| 大田县| 郯城县| 陈巴尔虎旗| 肇州县| 苏尼特右旗| 金秀| 兴山县| 农安县| 屯昌县| 镇安县| 铅山县| 内丘县| 宜章县| 榆社县| 滦南县| 苗栗市| 大名县| 长垣县| 中超| 蓬莱市| 广东省| 绵竹市| 南丹县| 麟游县| 丰台区| 贡山| 吉木萨尔县| 宁波市| 浦江县| 北辰区|