C#中B.cs怎么调用另一个A.cs中的变量和函数?

时间:2022-08-31 08:06:42
    我用vs2010开发asp网站,在A.cs中定义了变量和函数,现在想在B.cs中调用A中调用的函数,怎么实现?
    网上说用命名空间的方法,但我在B中用using Globalspace;调用时报错“未能找到类型或命名空间名称“Globalspace”(是否缺少 using 指令或程序集引用?) ”,这是为什么呀?

///////////////////A.cs文件///////////////////
using System.Data.OleDb;
 namespace Globalspace
{
    public class Datacon
    {
        public OleDbConnection getConn()
        {
            //请修改此处的连接代码
            string strCon = System.Configuration.ConfigurationManager.ConnectionStrings["strCon"].ConnectionString;
            OleDbConnection tempconn = new OleDbConnection(strCon);
            return (tempconn);
        }
    }

////////////////////////B.cs文件////////////////////////
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Data.OleDb;
using System.Data;
using Globalspace; /////调用时报错---能找到类型或命名空间名称“Globalspace”
public partial class sys_InitialDiag : System.Web.UI.Page
{
 protected void Button_Autodiagnosis_Click(object sender, EventArgs e)
    {
      ...
       try
        {
        OleDbConnection conn = getConn(); //getConn():得到连接对象
        string strCom = "Select * from 离心率 ";
        OleDbCommand myCommand =new OleDbCommand(strCom,conn);
        conn.Open();
        OleDbDataReader reader; 
      ...
      }
}
}

7 个解决方案

#1


如果两个文件在一个项目里面,你这样就可以了..如果不在一个项目里,你需要在B项目中添加引用,就是项目名下面一点点 有个引用那里,右键添加引用-项目,选中就可以了...还有一个 就是要注意下两个名的命名空间,你在B项目中添加引用了,还是要在代码文件中用using 这时可能要加A的命名空间

#2


这是在同一个项目里的,我用上面的方法在B.cs调用时,出现using Globalspace; /////调用时报错---能找到类型或命名空间名称“Globalspace”。 还有怎么在B中调用A.cs中已定义的变量。谢谢啦,新手请多多指教

#3


using命名空间进来。

#4


new 一个Datacon对象出来,然后调用对象.方法

#5


要想知道命名空间是什么,你只要设置断点,运行时在调试窗口打印一下 this.GetType().Namespace 的值就知道了。

不过asp.net 的 web 网站页面再发不时是独立编译的,可能并不能引用到其它页面。你应该将公共代码写到 app_code 下的代码文件中,这里的代码才能保证被所有页面引用!

另外,你的那种代码要创建对象、通过对象才能引用。而创建其它 Page 的对象显然是得不偿失的!所以这也说明公共代码应该放到 app_code 下边,脱离页面。一定要引用其它 Page 类型中的某些代码的话,那么脱离了对象实例,代码应该是 static 的才能引用使用。

#6


参考下面链接,如果还实现不了,Insus.NET也没有办法:
http://www.cnblogs.com/insus/p/3656800.html

#7


B,.cs中

using A

#1


如果两个文件在一个项目里面,你这样就可以了..如果不在一个项目里,你需要在B项目中添加引用,就是项目名下面一点点 有个引用那里,右键添加引用-项目,选中就可以了...还有一个 就是要注意下两个名的命名空间,你在B项目中添加引用了,还是要在代码文件中用using 这时可能要加A的命名空间

#2


这是在同一个项目里的,我用上面的方法在B.cs调用时,出现using Globalspace; /////调用时报错---能找到类型或命名空间名称“Globalspace”。 还有怎么在B中调用A.cs中已定义的变量。谢谢啦,新手请多多指教

#3


using命名空间进来。

#4


new 一个Datacon对象出来,然后调用对象.方法

#5


要想知道命名空间是什么,你只要设置断点,运行时在调试窗口打印一下 this.GetType().Namespace 的值就知道了。

不过asp.net 的 web 网站页面再发不时是独立编译的,可能并不能引用到其它页面。你应该将公共代码写到 app_code 下的代码文件中,这里的代码才能保证被所有页面引用!

另外,你的那种代码要创建对象、通过对象才能引用。而创建其它 Page 的对象显然是得不偿失的!所以这也说明公共代码应该放到 app_code 下边,脱离页面。一定要引用其它 Page 类型中的某些代码的话,那么脱离了对象实例,代码应该是 static 的才能引用使用。

#6


参考下面链接,如果还实现不了,Insus.NET也没有办法:
http://www.cnblogs.com/insus/p/3656800.html

#7


B,.cs中

using A