作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
有没有办法让我访问 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/
我是一名优秀的程序员,十分优秀!