我有這樣的代碼:如何獲得屬性值
[MyAttribute(CustomAttribute="Value")]
class MyClass
{
// some code
}
Main()
{
MyClass a = new MyClass();
}
如何獲得CustomAttribute的值,例如一個?
我有這樣的代碼:如何獲得屬性值
[MyAttribute(CustomAttribute="Value")]
class MyClass
{
// some code
}
Main()
{
MyClass a = new MyClass();
}
如何獲得CustomAttribute的值,例如一個?
線沿線的:
MyAttribute [] myAttributes
= (MyAttribute [])a.GetType().GetCustomAttributes(typeof(MyAttribute),true);
不能明白你的意思「而無需使用的foreach」,除了GetCustomAttributes總是返回他們的數組(考慮具有多個屬性) 。如果你知道只能有一個,那就用第一個。
MyAttribute theAttrib = myAttributes[0];
Console.WriteLine(theAttrib.CustomAttribute);
有一個很好的樣本這裏:第一屬性直接
http://msdn.microsoft.com/en-us/library/z919e8tw.aspx
要做到這一點沒有一個foreach你必須假定有被應用到該類型沒有其他屬性和索引。
var attribs = (MyAttributeAttribute[]) typeof(MyClass).GetCustomAttributes(
typeof(MyAttributeAttribute),
true);
Console.WriteLine(attribs[0].CustomAttribute); // prints 'Value'
「不能明白你的意思‘而無需使用的foreach’」 - > 我發現使用的foreach讀取所有屬性值 – Dusan 2010-08-02 14:11:57
一些不好的例子是,但壞的例子是 - 例子 - 你應該接受他們所提供的知識,並且如何使用它。 – Jamiec 2010-08-02 14:36:57