接口和将类公开为属性
本文关键字:属性 接口 | 更新日期: 2023-09-27 18:16:55
我正在看我的同行的这段代码,我有点困惑,这是如何有意义的:
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)接口是否可以包含一个类作为属性?2)是不是有循环引用?
是不是有循环引用?
不,没有循环引用。
接口可以包含一个类作为属性吗?
它当然可以-为什么你认为它不能?这是完全正常的用法——接口指定该属性将包含该类的实例(即该类型的对象)。为什么要上课?因为类无处不在——甚至很多基本的。net类型都是类。string
是一个类。你不能用原始值类型做所有的事情:)
我不能回答为什么Ch
中CurrType
有两种不同的用法(一个在根级,一个在CA
实例中),这由你自己来弄清楚。