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