中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

【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

绥德县| 钦州市| 嘉定区| 镇平县| 工布江达县| 宝坻区| 高清| 东平县| 玛纳斯县| 田林县| 手游| 贵溪市| 亚东县| 鄂托克前旗| 那坡县| 鹿泉市| 军事| 三河市| 阿拉善右旗| 洪湖市| 万源市| 东莞市| 旌德县| 德保县| 武平县| 伊春市| 阜宁县| 汉沽区| 桐梓县| 余姚市| 重庆市| 格尔木市| 哈巴河县| 南和县| 镇巴县| 青海省| 马边| 申扎县| 大英县| 泸州市| 南郑县|