我有一個枚舉,其中每個成員都有一個自定義屬性應用於它。我如何檢索存儲在每個屬性中的值?如何獲取枚舉的自定義屬性值?
現在我這樣做:
var attributes = typeof (EffectType).GetCustomAttributes (false);
foreach (object attribute in attributes)
{
GPUShaderAttribute attr = (GPUShaderAttribute) attribute;
if (attr != null)
return attr.GPUShader;
}
return 0;
的另一個問題是,如果它沒有找到,我應該怎麼回報? 0是可轉換爲任何枚舉,對嗎?這就是爲什麼我回來的原因。
忘了提及,上面的代碼爲每個枚舉成員返回0。
可能重複://計算器.com/questions/5032774/what-attributetarget-should-i-use-for-enum-members) – 2011-02-23 22:14:02
不,這是不同的。在這裏,我只是試圖使用反射來獲取在枚舉成員上設置的自定義屬性。 – 2011-02-23 22:16:40
[獲取Enum的值的屬性]的可能的重複(http://stackoverflow.com/questions/1799370/getting-attributes-of-enums-value) – 2012-01-23 10:25:06