c#类引用而不是实例引用

ala*_*ere 3 c# variables reference class instance

我可以在本地引用C#中的类,而不是类的实例吗?以下代码将无法编译,但作为示例,类似于:

void someFunc()
{
    var a = System.Math;
    var b = a.Abs(4);
}
Run Code Online (Sandbox Code Playgroud)

编辑:在真正的程序中,它不是System.Math类,我想构造类并返回构造的值.我原本不认为我想要使用该类的上下文是相关的,而且可能不应该.

Anastasiosyal有一个有趣的想法,使用当地的代表来做.

Chr*_*ain 8

你可以引用一个类:

Type math = typeof(System.Math);
Run Code Online (Sandbox Code Playgroud)

但是你不能使用常规的点语法在它上面调用静态方法:

// Wont compile:
math.Abs(5);
Run Code Online (Sandbox Code Playgroud)

如果您只想缩短(和IMHO混淆)您的代码,您可以通过using指令引用带别名的类:

// Untested, but should work
namespace MyUnreadableCode {
    using m = System.Math;
    class Foo {
        public static Int32 Absolut(Int32 a) {
            return m.Abs(a);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)