传递给函数的Property类型如何设置参数值

时间:2015-12-03 17:07:30

标签: c# .net visual-studio custom-attributes

我正在寻找一个在.Net 4.5中获取调用方法的类名的解决方案,并且我希望使用自定义属性属性来实现它。 Here是使用System属性CallerMemberName获取成员名称的示例,但对于我自己的属性,我不确定要实现哪些函数来返回值。

是否有人知道有关实施此类属性或任何示例的更多文档的链接?

到目前为止,我计划使用以下内容:

[AttributeUsage(AttributeTargets.Parameter)]
class MyAttribute : Attribute
{
    //some method to implement returning the attribute value
}

class CallerTestClass
{
    public string GetCallerClass(
        [MyAttribute]string className = "")
    {
        return className;
    }
}

1 个答案:

答案 0 :(得分:3)

基本上你不能。 C#编译器具有CallerMemberName属性的特殊知识 - 不会具有您的属性的特殊知识。

听起来你应该只能使用CallerMemberName,而不是拥有自己的属性......