我如何告诉编译器“Thing.VariableProperty”中的“Thing”是类型而不是实例?就像这样,它表示我的 Thing 实例不包含 VariableProperty 的定义。或者我也将类型名称用作变量名称是错误的吗? public interface IThing { int Variable { get; } } public class Thing : IThing { public const string VariableProperty = nameof(Variable); public int Variable => 1; } public class MyClass { public IThing Thing = new Thing(); public string GiveMeAString() { return "Something about " + Thing.VariableProperty; } }
1 回答
慕森王
TA贡献1777条经验 获得超3个赞
您可以使用类的完全限定名Test,如果它在命名空间中,或者您可以使用global关键字来引用类:
...
public string GiveMeAString()
{
return "Something about " + global::Thing.VariableProperty;
// Or
// return "Something about " + My.Namespace.Thing.VariableProperty;
}
...
第三种方法是使用using static指令:
using static Thing;
...
public string GiveMeAString()
{
return "Something about " + VariableProperty;
}
...
但在这种情况下,我建议为Thing类使用另一个名称,例如 egSpecializedThing或将MyClass.Thing字段重命名为 egaThing或myThing。
- 1 回答
- 0 关注
- 59 浏览
添加回答
举报
0/150
提交
取消