如何检索属性值以及运行时属性值
我创建了一个在我的类 MyClass 上使用的自定义属性。我希望能够反映此类的实例以查看该属性的信息。
假设我有这个类定义:
public class MyClass
{
[Example("MyClassID")]
public string ID;
}
稍后在我的代码中,我使用该类的一个实例:
MyClass mc = new MyClass();
mc.ID = 18;
有没有办法从这个实例 mc 获取属性值(“MyClassID”)?理想情况下,我希望能够将其与我的财产联系起来,方式类似于:
mc.ID.GetCustomAttributes(typeof(ExampleAttribute), false)
I have created a custom attribute that I am using on my class MyClass. I would like to be able to reflect on an instance of this class to see information from that attribute.
Let's say I have this class definition:
public class MyClass
{
[Example("MyClassID")]
public string ID;
}
Later in my code, I am using an instance of this class:
MyClass mc = new MyClass();
mc.ID = 18;
Is there a way I can get the attribute value ("MyClassID") from this instance, mc? Ideally, I'd like to be able to tie this to my property, in a way similar to this:
mc.ID.GetCustomAttributes(typeof(ExampleAttribute), false)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,您可以通过反射来做到这一点:
如果这不是一个属性(它不在您的示例中,但我不确定这是否是问题的函数),那么您可以使用 GetMember。
Yes, you can do this through reflection:
If this is not a property (which it isn't in your example, but I wasn't sure if that was a function of the question or not), then you can use GetMember.
是的,您可以获得属性的值。这是一个例子:
Yes, you can get the attribute's value. Here is an example: