C# 类是否需要实例化才能读取其属性之一?

C# 类是否需要实例化才能读取其属性之一?,c#,.net,C#,.net,假设我有一个接口 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";}}

假设我有一个接口

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”吗?所以我只能实例化那个特定的成员。

不,如果没有类的实例,就不能引用实例成员(如该属性)。您需要将该属性设置为static,以便在没有实例的情况下获取该属性。

否,您不能在没有类实例的情况下引用实例成员(如该属性)。您需要将该属性设置为static,以便在没有实例的情况下获取该属性。

是的,它是静态的

对象仅在实例化时包含数据。即使您如上所述定义了一个属性,您仍然需要实例化它。但是,如果创建静态属性,则可以通过调用concrete1.property1等来访问它

但是,我不相信您可以针对接口定义静态属性。

是的,它可以

对象仅在实例化时包含数据。即使您如上所述定义了一个属性,您仍然需要实例化它。但是,如果创建静态属性,则可以通过调用concrete1.property1等来访问它


但是,我不相信您可以针对接口定义静态属性。

我没有苹果。苹果是红色的吗?也许,如果它是一个静态的apple.lol,这就是我所想的,但我很好奇是否有人知道任何神奇的东西听起来可能有一个更容易的方法来实现你的最终目标。也许是时候重新审视你的设计了。你到底想解决什么问题?我的大脑现在在尖叫“工厂模式”,但你没有提供足够的信息来确定。你的属性是实例属性,所以是的,你必须创建实例才能获得这些属性的值。我正在尝试搜索文本,以查找与类定义的模式匹配的字符串,然后实例化该类并执行特定于该字符串的方法——是的,工厂模式就是我所说的——我没有苹果。苹果是红色的吗?也许,如果它是一个静态的apple.lol,这就是我所想的,但我很好奇是否有人知道任何神奇的东西听起来可能有一个更容易的方法来实现你的最终目标。也许是时候重新审视你的设计了。你到底想解决什么问题?我的大脑现在在尖叫“工厂模式”,但你没有提供足够的信息来确定。你的属性是实例属性,所以是的,你必须创建实例才能获得这些属性的值。我正在尝试搜索文本,以查找与类定义的模式匹配的字符串,然后实例化该类并执行特定于该字符串的方法——是的,工厂模式就是我要去的地方