1 c# reflection
我想要访问类中Field的自定义属性.我想在字段构造函数中访问放置在字段上的属性.这可能吗?
编辑06/28/09类似下面的伪代码
class SpecialInt
{
int _intVal;
int _maxVal;
public SpecialInt()
{
//Get attribute for the instantiated specialint
_maxVal = GetAttribute("MaxValue")
Run Code Online (Sandbox Code Playgroud)
} }
class main()
{
[MaxValue(100)]
SpecialInt sInt;
public main()
{
sInt = new SpecialInt()
}
Run Code Online (Sandbox Code Playgroud)
}
class SpecialInt
{
int _intVal;
int _maxVal;
public SpecialInt()
{
//Get attribute for the instantiated specialint
_maxVal = GetAttribute("MaxValue")
Run Code Online (Sandbox Code Playgroud)
}
}
class main()
{
[MaxValue(100)]
SpecialInt sInt;
public main()
{
sInt = new SpecialInt()
}
Run Code Online (Sandbox Code Playgroud)
}
class SpecialInt
{
int _intVal;
int _maxVal;
public SpecialInt()
{
//Get attribute for the instantiated specialint
_maxVal = GetAttribute("MaxValue")
Run Code Online (Sandbox Code Playgroud)
} }
class main()
{
[MaxValue(100)]
SpecialInt sInt;
public main()
{
sInt = new SpecialInt()
}
Run Code Online (Sandbox Code Playgroud)
}
当然这是可能的.属性存储在元数据中,在构造对象时可以轻松访问.
public class Foo {
[Something]
public int Field1;
public Foo() {
FieldInfo fi = typeof(Foo).GetField("Field1");
SomethingAttribute si = (SomethingAttribute)fi.GetCustomAttribute(typeof(SomethingAttribute),false)[0];
// grab any Custom attribute off of Fiield1 here
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
316 次 |
| 最近记录: |