2014-11-06 14 views
20

所以我有一个简单的类来表示数据库中的数据。属性在变量中列出两次,但不在类中

public class EntitySyncContext 
{ 
    public EntitySyncContext() 
    { 
     ExternalEntities = new List<ExternalContact>(); 
    } 
    public HandledType HandledType { get; set; } 
    public Contact Entity { get; set; } 
    public IList<ExternalContact> ExternalEntities { get; set; } 
    public bool HasConflict { get; set; } 
} 

但是,当我从这个类,当我把手表就可以了,而我调试看到,所有上面列出的属性的变量中存在两次声明一个变量。

EntitySyncContext matchingContext = new EntitySyncContext(); 

Printscreen of properties

有谁知道如何和/或为什么出现这种情况和/或如何解决它?

+5

'属性被列出两次' - 你能提供截图来查看你的意思吗? – Sinatr 2014-11-06 13:12:17

+3

你的意思是说每个属性都有一个带'Field'后缀的后台? – 2014-11-06 13:12:51

+0

你确定你没有看到支持领域? – Brandon 2014-11-06 13:18:49

回答

0

您可以修复或重新安装IDE。这似乎是一个IDE问题。

-2

我想说这是一个错误。

声明的公共财产,没有私人二传手意味着私人二传手后面的代码生成,最有可能被拾起在

1

我唯一的Visual Studio 2015年安装的,现在这样的行为可能会有所不同的IDE,但这让我想起了几件事情。

看看这个代码在这里:

public interface IA 
{ 
    string StringA { get; } 
} 

public interface IB 
{ 
     string StringA { get; } 
} 

public class B 
{ 
    public string StringA { get; } 
} 

public class A : B, IA, IB 
{ 
    public string StringA 
    { 
     get 
     { 
      return "A"; 
     } 
    } 

    string IB.StringA 
    { 
     get 
     { 
      return "B"; 
     } 
    } 
} 

这里是看A类的一个实例,看起来像在Visual Studio 2015年:

The watch window of a very weird class

所以我的想法是,你要么显式实现的接口具有相同的属性,或者您可以隐藏基类的属性,方法是在子类中通过同名声明属性,并且Visual Studio 2013或者不显示额外的类型细节吨2015年,或者你有它配置不同于我。

相关问题