我正在查看来自我的同行的这段代码,并且对于这有什么意义有点困惑:
public class CA
{
public CurrType CT {get; set;}
}
public interface ICharge
{
CA a {get; set;}
CurrType CT {get; set;}
}
public enum CurrType {X=0, Y=1}
public class Ch : ICharge
{
public CA a {get; set;}
public CurrType CT {get; set;}
}
我理解接口包含属性,但不能特别理解上面的代码: 1)接口ICharge可以包含一个类作为属性吗? 2)是不是有一些循环参考?
答案 0 :(得分:1)
是不是有一些循环参考?
不,没有循环引用。
接口ICharge可以包含一个类作为属性吗?
肯定可以 - 你为什么认为不可以?这是完全正常的用法 - 接口指定该属性将包含该类的实例(即该类型的对象)。为什么上课?因为类到处都是 - 甚至很多基本的.Net类型都是类。 string
是一个类。您无法使用原始值类型执行所有操作:)
我无法回答为什么CurrType
中Ch
有两种不同的用法(一种在根级别,一种在CA
实例中),这是你要弄清楚的