我创建了一个网站,希望有一个类来集中我在整个项目中经常使用的所有代码,例如连接到数据库的方法。问题:在 App_Code 文件夹上创建此类后,如何在 aspx.cs 页面中使用它?我的意思是,应该参考吗?我应该通知添加命名空间吗?
谢谢!
是的,将您的类放在 a 中namespace
并尽可能考虑制作该类static
,这样它就可以在整个项目的代码中使用而无需实例化该类。这对于传入对象并使用它们的实用程序类很常见,但不需要实际的实用程序方法成为类实例的一部分。
例如:
namespace My.Utilities
{
public class static ConnectionStringHelper
{
public static string GetConnectionString()
{
// Logic here to actually get connection string
return yourConnectionString;
}
}
}
现在,您项目中的代码只需要引用My.Utilities
命名空间,然后就可以使用该GetConnectionString()
方法,如下所示:
using My.Utilities;
string connString = ConnectionStringHelper.GetConnectionString();
如果该类被包装在命名空间中,那么是的,您需要一个与您的命名空间匹配的 using 语句。例如,如果您的类被包装在这样的命名空间中:
namespace My.Namespace
{
public class Foo
{
//Methods, properties, etc.
}
}
然后在任何你想使用该类的地方你都需要添加
using My.Namespace;
到您想要使用您定义的类的文件的顶部。然后,您可以按预期使用您的课程:
Foo foo = new Foo(); //for a new instance
Foo.Bar(); //for a static method
当然,这是假设该类在同一个程序集中,并且您不想将其添加到 GAC中。
或者,如果由于某种原因您不使用 using 语句,您可以使用类的完全限定名称:
My.Namespace.Foo foo = new My.Namespace.Foo(); //for a new instance
My.Namespace.Foo.Bar(); //for a static method
如果您有冲突的命名空间,这是最有用的,例如,如果您有
namespace My.Namespace
{
public class Foo
{
//Methods, properties, etc.
}
}
某处,和
namespace MyOther.Namespace
{
public class Foo
{
//Methods, properties, etc.
}
}
其他地方,但需要在同一范围内使用它们。
将类文件创建为公共文件,您将能够在项目的任何部分访问该类文件。
namespace applicationName
{
public class DataManager
{
public static DataTable GetData(StringBuilder sql)
{
}
}
}
您可以从代码中访问 DataManager。
DataManager.GetData(SQL);
你可以通过多种方式做到这一点。从技术上讲,您可以完全删除命名空间,并且您的代码对所有人免费(自然可以从任何地方访问)。我个人更喜欢使用命名空间,但我似乎只是避免使用它们。
如果您的类 Foo 在 Some.Namespace 中,您可以这样引用它:
方式一:
Some.Namespace.Foo foo = new Some.Namespace.Foo()
方式二:使用“使用”命令
如果您的班级在 Some.Namespace 内,并且您不希望班级名称之前的所有垃圾,您可以添加:
using Some.Namespace;
到文件的顶部。
我可能想念你在说什么。如果您正在谈论设置,则可以创建一个集中的类来管理所有内容。这个类可以是一个单例。例如:
class MyClass
{
public static MyClas Singliton;
static MyClass()
{
Singliton = new MyClass();
}
public void someFunction()
{
}
}
这将创建和管理对您的类的单个引用,以便从那里管理所有内容(因此被称为“单例”)。因此,您可以通过以下方式访问它:
MyClass.Singliton.someFunction();
有一些方法可以保护您的单例实例不被覆盖,但这是基本思想。如果您想在不重新创建类的情况下从一个位置管理东西,那么单例就是方法!