使用静态类型而不是变量

its*_*e86 6 c#

当项目不使用命名空间时,有没有办法告诉编译器使用静态类型而不是变量?

例如,我有一个名为User的类,它有各种静态和非静态方法.假设有一个静态方法被调用GetUser().

我试图User.GetUser()从一个方法调用该方法,该方法也有一个名为User的范围变量(继承自基类).但是,编译器抱怨说它找不到,User.GetUser()因为它认为我指的是范围内的User变量.

如果这个项目使用名称空间,我可以这样做ns1.User.GetUser(),但在这种情况下这是不可行的.有没有办法可以告诉编译器我指的是User类型而不是User变量?

Jon*_*eet 9

您可以使用:

global::User.GetUser()
Run Code Online (Sandbox Code Playgroud)

或者使用using指令来替换类型:

using UserType = User;

...

UserType.GetUser();
Run Code Online (Sandbox Code Playgroud)

我强烈建议您使用命名空间:)


Jim*_*hel 6

你能写global::User.GetUser()吗?

全球