我可以在不引用包含类的情况下从嵌套结构中引用Const字段吗?

Dar*_*ryl 3 c#

考虑以下情况

public class SomethingWithAReallyReallyAnnoyinglyLongName{
    public struct Names
    {
        public const string SomeConstant = "Hello";
        public const string SomeOtherConstant = "World";
    }
}
Run Code Online (Sandbox Code Playgroud)

当在上下文之外时,是否有一种引用方式SomethingWithAReallyReallyAnnoyinglyLongName.Names.SomeConstant而不必引用?SomethingWithAReallyReallyAnnoyinglyLongNameSomethingWithAReallyReallyAnnoyinglyLongName

// Won't work "Struct Name is not valid at this point."
var names = SomethingWithAReallyReallyAnnoyinglyLongName.Names;
SomeFunction(names.SomeConstant, names.SomeOtherConstant);

// Won't work "Cannot access static constant..."
var names = new SomethingWithAReallyReallyAnnoyinglyLongName.Names();
SomeFunction(names.SomeConstant, names.SomeOtherConstant);
Run Code Online (Sandbox Code Playgroud)

长类名是自动生成的,所以我不能改变它,但我可能会改变关于Names结构的任何内容(使它成为一个类,将consts更改为const不是等等).

有任何想法吗?

Dan*_*ant 6

好吧,在使用该类的文件中,您可以这样做:

using SwarralnNames = SomethingWithAReallyReallyAnnoyingLongName.Names;
Run Code Online (Sandbox Code Playgroud)

然后你可以输入 SwarralnNames.SomeConstant

不理想,因为您需要在每个需要相应"快捷方式"名称的文件中应用它,但如果您无法控制原始名称,它可以真正帮助清理同一文件中的多个引用.