在c#中访问另一个类的非静态构造函数中的静态属性

时间:2012-05-30 09:16:13

标签: c#

我试图在另一个类的非静态构造函数中访问普通类(ClassA.StaticPropertyXX)的静态属性。 ClassA是一个普通的类。

工作正常。我需要知道它是否正确。 请告诉我。

3 个答案:

答案 0 :(得分:0)

没有什么可以阻止你这样做。您将在这些类之间建立耦合。对ClassA的更改可能会影响(甚至打破)其他类。如果可以,你应该避免它。

答案 1 :(得分:0)

您可能遇到的事情:

  • 您没有针对命名空间的using语句,因此ClassA不可用。这可以通过添加using语句或指定完整命名空间来解决。
  • 名称ClassA与其他名称冲突。这可以通过在using语句中为名称空间创建别名来解决。
  • 静态属性不是public

只要您有权访问ClassA类型,就可以访问其中的公共静态属性。

答案 2 :(得分:0)

而不是:

class MyClass
{
    private int _value;

    public MyClass()
    {
        _value = OtherClass.StaticInt;
    }
}

青睐:

class MyClass
{
    private int _value;

    public MyClass(int valueForConstruction)
    {
        _value = valueForConstruction;
    }
}

MyClassOtherClass解耦,即使您执行此操作:

MyClass c = new MyClass(OtherClass.StaticInt);
相关问题