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

本文关键字:静态 属性 构造函数 访问 另一个 | 更新日期: 2023-09-27 18:35:48

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

它工作正常。我需要知道这是否是正确的方法。请让我知道。

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

而不是:

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);

没有什么能阻止你这样做。您只需要在这些类之间内置耦合。对 ClassA 的更改可能会影响(甚至破坏)另一个类。所以如果可以的话,你应该避免它。

您可能会

遇到的情况:

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

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