在我的应用程序有一个自定义属性卡耶斯ResourceTargetAttribute
它看起来像:获取PROPERTYNAME其中属性是
[AttributeUsage(AttributeTargets.Property)]
private class ResourceTargetAttribute : Attribute
{
public ResourceTargetAttribute(string resourceKey)
{
ResourceKey = resourceKey;
}
public string ResourceKey { get; private set; }
}
用法是这样的:
[ResourceTarget("FileNotFoundErrorText")
public string FileNotFoundErrorText { get; private set; }
的class
其中FileNotFoundErrorText的构造-Property被定义为解析这个属性。这工作正常。
现在我正在考虑将属性扩展为具有无参数的构造函数,并且如果这被称为Property的名称,该属性将自动用于ResourceKey。 所以我介绍了一个新的构造函数,只是看起来像:
public ResourceTargetAttribute()
{
}
然后使用应该是这样的:
[ResourceTarget()]
public string FileNotFoundErrorText { get; private set; }
在这里,我想有FileNotFoundErrorText-属性的名称被自动传递给ResourceTarget-Attribute。
有没有可能做到这一点?
属性是类型系统的一部分,因此参数在编译时需要为常量值。可选声明将导致始终为空,因为没有任何内容会注入来电者姓名... –
大约5分钟前,我也发现了此解决方案:)谢谢 – Tomtom