说我有一个界面
public interface IType{
string property1 {get;}
}
和两个实现它的类
public class concrete1 : IType{
public string property1 {get {return "testing1";}}
}
public class concrete2 : IType{
public string property1 {get {return "testing2";}}
}
我可以隔离哪个类包含字符串" testing2"没有实例化任何一个类?所以我只能实例化那个特定的。
答案 0 :(得分:4)
是的,确实如此。
对象仅包含数据(如果已实例化)。即使您如上所述定义属性,仍然需要实例化它。但是,如果创建静态属性,则可以通过调用concrete1.property1等来访问它。
但是,我不相信你可以针对接口定义静态属性。
答案 1 :(得分:2)
不,如果没有该类的实例,则无法引用实例成员(如该属性)。您将需要使该属性static
在没有实例的情况下获取它。