gpt4 book ai didi

c# - 我有办法访问 C# 类属性吗?

转载 作者:太空狗 更新时间:2023-10-30 00:18:22 25 4
gpt4 key购买 nike

有没有办法让我访问 C# 类属性?

例如,如果我有以下类(class):

...
[TableName("my_table_name")]
public class MyClass
{
...
}

我可以做类似的事情吗:

MyClass.Attribute.TableName => my_table_name

谢谢!

最佳答案

您可以使用 Attribute.GetCustomAttribute方法:

var tableNameAttribute = (TableNameAttribute)Attribute.GetCustomAttribute(
typeof(MyClass), typeof(TableNameAttribute), true);

但是这对我来说太冗长了,您可以通过以下小扩展方法真正让您的生活变得更轻松:

public static class AttributeUtils
{
public static TAttribute GetAttribute<TAttribute>(this Type type, bool inherit = true) where TAttribute : Attribute
{
return (TAttribute)Attribute.GetCustomAttribute(type, typeof(TAttribute), inherit);
}
}

所以你可以简单地使用

var tableNameAttribute = typeof(MyClass).GetAttribute<TableNameAttribute>();

关于c# - 我有办法访问 C# 类属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37866962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com