使用静态类型而不是变量类型

本文关键字:类型 变量 静态 静态类 | 更新日期: 2023-09-27 17:52:54

是否有任何方法告诉编译器使用静态类型而不是变量,当你的项目不使用名称空间?

例如,我有一个名为User的类,它具有各种静态和非静态方法。假设其中一个静态方法叫做GetUser()

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

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

使用静态类型而不是变量类型

您可以使用:

global::User.GetUser()

或using指令别名类型:

using UserType = User;
...
UserType.GetUser();

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

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

看到全球

  1. 使用global::User.GetUser()

  2. 使用别名:using UserClass = User;

  3. 重命名变量

  4. 重命名类型

  5. 减少变量的作用域,这样它就不在你使用它的作用域内了

或者,您可以为静态类使用别名。在你的using指令中,你可以添加:

using StaticUser = User;