1

我创建了一个网站,希望有一个类来集中我在整个项目中经常使用的所有代码,例如连接到数据库的方法。问题:在 App_Code 文件夹上创建此类后,如何在 aspx.cs 页面中使用它?我的意思是,应该参考吗?我应该通知添加命名空间吗?

谢谢!

4

4 回答 4

0

是的,将您的类放在 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();
于 2013-09-19T21:18:45.127 回答
0

如果该类被包装在命名空间中,那么是的,您需要一个与您的命名空间匹配的 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.
   }
}

其他地方,但需要在同一范围内使用它们。

于 2013-09-19T21:13:04.237 回答
0

将类文件创建为公共文件,您将能够在项目的任何部分访问该类文件。

namespace applicationName
{
    public class DataManager
    {
        public static DataTable GetData(StringBuilder sql)
        {

        }

    }
}

您可以从代码中访问 DataManager。

DataManager.GetData(SQL);
于 2013-09-19T21:15:21.030 回答
0

你可以通过多种方式做到这一点。从技术上讲,您可以完全删除命名空间,并且您的代码对所有人免费(自然可以从任何地方访问)。我个人更喜欢使用命名空间,但我似乎只是避免使用它们。

如果您的类 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();

有一些方法可以保护您的单例实例不被覆盖,但这是基本思想。如果您想在不重新创建类的情况下从一个位置管理东西,那么单例就是方法!

http://msdn.microsoft.com/en-us/library/ff650316.aspx

于 2013-09-19T21:21:57.660 回答