在不命名类的情况下使用类中的静态函数

时间:2014-06-24 02:13:40

标签: c# function class namespaces

如何从类中访问函数而不必每次都命名该类?我知道如何使用"使用"所以我不必命名命名空间,但我希望有一种方法可以处理这些静态函数,这样我就可以按照我在同一个类中调用函数的方式调用它们。

4 个答案:

答案 0 :(得分:1)

我经常有

static Action<object> o = s => Console.WriteLine(s);

在我的代码中,这使得调试输出的噪音更小。这样我就可以更轻松地调用Console的静态Writeline()。那会有帮助吗?

答案 1 :(得分:1)

如果您希望定义一个全局范围的过程,那么简短的答案是否定的,您不能在c#中执行此操作。没有全局功能,程序或对象。

在C#中,除名称空间和类型(类,结构,枚举,接口)之外的所有内容都必须在类型中定义。静态成员(字段,属性和方法)可以在没有类实例的情况下使用,但只能通过引用拥有它们的类型来使用。非静态成员需要拥有类的实例。

这是语言语法的基础。 C#既不是C也不是C ++,可以定义全局对象,函数和过程。

答案 2 :(得分:0)

在C#中?不可能。因为它是一个完整的OOP编程语言,它被设计为使用对象,所以不能使用对象范围之外的函数。调用静态方法时,必须指定静态方法所在的类...

Class.StaticMethod();

如果在同一个班级内调用此方法,则只能使用简写符号...

StaticMethod();

但请记住,您将无法访问实例成员,因为静态方法不属于对象的实例

基于评论更新

看起来可以调用静态成员而不必指定在C#6中声明它的类,并且您将能够以类似于Java的方式直接在using语句中引用类... ...... more info here

答案 3 :(得分:0)

使用静态yournamespace.yourclassname;

然后调用不带类名的静态类方法;