当前位置:  开发笔记 > 编程语言 > 正文

自动实现的属性是否支持属性?

如何解决《自动实现的属性是否支持属性?》经验,为你挑选了2个好方法。

我被告知在自动实现的属性中不允许使用c#属性.真的吗?如果是这样的话?

编辑:我从一本关于LINQ的流行书中得到了这些信息,并且无法相信!编辑:参考Paul Kimmel释放的LINQ第34页,他说" 在自动实现的属性上不允许属性,所以如果你需要属性,请自行滚动 "



1> aku..:

您可以毫无问题地将属性应用于自动属性.

从MSDN引用:

允许在自动实现的属性上使用属性,但显然不在支持字段上,因为无法从源代码访问这些属性.如果必须在属性的支持字段上使用属性,只需创建常规属性.



2> Jon Skeet..:

证明错误的最简单方法就是测试它:

using System;
using System.ComponentModel;
using System.Reflection;

class Test
{
    [Description("Auto-implemented property")]
    public static string Foo { get; set; }  

    static void Main(string[] args)
    {
        var property = typeof(Test).GetProperty("Foo");
        var attributes = property.GetCustomAttributes
                (typeof(DescriptionAttribute), false);

        foreach (DescriptionAttribute description in attributes)
        {
            Console.WriteLine(description.Description);
        }
    }
}

我建议你给作者发电子邮件,以便将其作为一个错误发布.如果他意味着你不能将属性应用于该领域,这将使他有机会更仔细地解释.

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有