考虑以下代码:
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),但是我们可以看到它是一个公共财产!
有人知道原因吗?
答案 0 :(得分:1)
我不确定什么是Friend字段,我从未听说过C#中存在此概念,所以我认为它确实不存在。
您已经定义了名称和代码作为属性(因为已经获取并设置了)。这是属性的定义。
所以可能是GUI显示错误。
如果您想确保它真正是什么,可以使用反射:
t.GetType().GetProperties();
答案 1 :(得分:0)
问题似乎已解决。这是Microsoft社区的评论:
此问题的修复程序已发布!安装最新的 从https://visualstudio.microsoft.com/downloads/释放。谢谢 提供有价值的反馈意见,有助于改进产品。