在 C# 中访问另一个类的非静态构造函数中的静态属性
本文关键字:静态 属性 构造函数 访问 另一个 | 更新日期: 2023-09-27 18:35:48
>我正在尝试在另一个类的非静态构造函数中访问普通类(ClassA.StaticPropertyXX)的静态属性。A类是普通类。
它工作正常。我需要知道这是否是正确的方法。请让我知道。
而不是:
class MyClass
{
private int _value;
public MyClass()
{
_value = OtherClass.StaticInt;
}
}
恩:
class MyClass
{
private int _value;
public MyClass(int valueForConstruction)
{
_value = valueForConstruction;
}
}
将MyClass
与OtherClass
解耦,即使您这样做:
MyClass c = new MyClass(OtherClass.StaticInt);
没有什么能阻止你这样做。您只需要在这些类之间内置耦合。对 ClassA 的更改可能会影响(甚至破坏)另一个类。所以如果可以的话,你应该避免它。
您可能会
遇到的情况:
- 命名空间没有
using
语句,因此ClassA
不可用。这可以通过添加using
语句或指定完整的命名空间来解决。 - 该名称
ClassA
与另一个名称冲突。这可以通过在using
语句中为命名空间创建别名来解决。 - 静态属性不
public
。
只要您有权访问ClassA
类型,就可以访问其中的公共静态属性。