亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

【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

厦门市| 化德县| 东乌珠穆沁旗| 河曲县| 阜平县| 澎湖县| 洪雅县| 临颍县| 克什克腾旗| 临洮县| 青冈县| 宽城| 五寨县| 新安县| 青河县| 松江区| 英德市| 子洲县| 怀来县| 甘南县| 大庆市| 腾冲县| 安多县| 图木舒克市| 靖州| 长汀县| 南安市| 浑源县| 探索| 梁河县| 商水县| 桐柏县| 抚州市| 义乌市| 阿坝县| 泰宁县| 平罗县| 额济纳旗| 迁安市| 南丰县| 富平县|