我在一个类中创建了一个函数.我想在整个项目中调用它.但我不想在每个页面中创建该类的对象.该课程是否有任何全球声明,以便我们可以在每个页面中调用?在aspx page .cs文件的代码后面是不可能继承的.
Pra*_*ana 17
您需要Static在类中创建一个Method,以便可以在不创建该类对象的情况下调用该函数,如下面的代码段所示:
public class myclass
{
public static returntype methodname()
{
//your code
}
}
Run Code Online (Sandbox Code Playgroud)
调用该函数只是使用
//ClassName.MethodName();
myclass.methodname();
Run Code Online (Sandbox Code Playgroud)
你可以看看MSDN:静态成员
建议
解决问题的另一个方法是使用SINGLETON DESIGN PATTERN
意图

您只需要使其成为静态方法即可:
public class Foo
{
public static void Bar()
{
...
}
}
Run Code Online (Sandbox Code Playgroud)
然后从任何地方:
Foo.Bar();
Run Code Online (Sandbox Code Playgroud)
请注意,因为您没有在类型的实例上调用该方法,所以不会有任何实例特定的状态-您将有权访问任何静态变量,但不能访问任何实例变量。
如果需要特定于实例的状态,则需要有一个实例-并且掌握适当实例的最佳方法实际上取决于您要实现的目标。如果您可以向我们提供有关类和方法的更多信息,我们可能会为您提供更多帮助。
从我记忆中可以肯定的是,ASP.NET(MVC之前)中的依赖项注入有些痛苦,但是您可能很想研究一下-如果该方法改变了任何静态状态,您最终都会得到一些在线程方面很难测试,也很难推理。