具有受保护的二传手的可空属性,推断为Friend(Internal)字段

时间:2019-05-19 08:51:27

标签: c#

考虑以下代码:

class Program
{
    public class Test
    {
        private Test() { }

        public Test(string name, int? code)
        {
            Name = name;
            Code = code;
        }
        public string Name { get; protected set; }
        public int? Code { get; protected set; }
    }

    static void Main(string[] args)
    {
        Test t = new Test("Vahid", 10);

        Console.ReadLine();
    }
}

运行上述代码时,您会看到t.Code被推断为FriendField(Internal),但是我们可以看到它是一个公共财产!

有人知道原因吗?

enter image description here

2 个答案:

答案 0 :(得分:1)

我不确定什么是Friend字段,我从未听说过C#中存在此概念,所以我认为它确实不存在。

您已经定义了名称和代码作为属性(因为已经获取并设置了)。这是属性的定义。

所以可能是GUI显示错误。

如果您想确保它真正是什么,可以使用反射:

t.GetType().GetProperties();

答案 1 :(得分:0)

问题似乎已解决。这是Microsoft社区的评论:

  

此问题的修复程序已发布!安装最新的   从https://visualstudio.microsoft.com/downloads/释放。谢谢   提供有价值的反馈意见,有助于改进产品。

相关问题