1,public partial class menu : Form 这句话中的类menu前面用partial来修饰是什么意思
2,应用程序的主入口点static void Main()在一个.cs类文件中而不是一个窗体文件?
3,我有一个2003中的类文件,其中的代码如下:
namespace Class
{
public class DataAccess
{
public DataAccess()
{
} public static string ConnectionStrBySql
{
......我在2005中引用这个文件,先输入Class.可以点出DataAccess类,但是再点就点不出来下面的静态的方法和属性了,于是我又先实例化这个类:Class.DataAccess byhum=new Class.DataAccess() ;再输入byhum.,可是还是点不出来任何东西,请问这是怎么回事?
2,应用程序的主入口点static void Main()在一个.cs类文件中而不是一个窗体文件?
3,我有一个2003中的类文件,其中的代码如下:
namespace Class
{
public class DataAccess
{
public DataAccess()
{
} public static string ConnectionStrBySql
{
......我在2005中引用这个文件,先输入Class.可以点出DataAccess类,但是再点就点不出来下面的静态的方法和属性了,于是我又先实例化这个类:Class.DataAccess byhum=new Class.DataAccess() ;再输入byhum.,可是还是点不出来任何东西,请问这是怎么回事?
同一类型在不同文件里面都需要使用partial
可以只在一个文件,两个文件,或者更多文件中使用partial
Base class只需要声明一次;若多次声明必需完全一致.
2.Main()可以看作只是一个方法,不是窗体文件
3.public static string ConnectionStrBySql我不知道是什么,如果是方法又看不到返回类型,如果是属性为什么又要static来修饰?不过我可以告诉你static是不用实例化引用的,你试试把static去掉试试
namespace Class
{
public class DataAccess
{
public DataAccess()
{
} public static DataTable GetAccessData(string sql)
......
GetAccessData是一个靜态的方法,我要在另一个文件中引用它,在2003中直接这样:
string xide=Class.DataAccess.GetAccessData(strsql);就可以了,可是我在2005中我在Class.DataAccess的后面点不出来任何方法,
把GetAccessData方法的static 去掉,进行类的实例化,Class.DataAccess byhum=new Class.DataAccess() ;,再输入byhum还是得不到任何方法
IDE不提示?直接输进去编译能通过么
或者直接
string xide=DataAccess.GetAccessData(strsql);
string by="select * from b";
DataTable dt = DataAccess.GetAccessData(by);提示:错误 字段初始值设定项无法引用非静态字段、方法或属性“sqlconn.by”我先定义一个字符串变量by,然后在DataAccess.GetAccessData方法中传递,怎么会出错呢?
DataTable dt = DataAccess.GetAccessData(by);提示:错误 字段初始值设定项无法引用非静态字段、方法或属性“sqlconn.by”除非我改成这样才可以:
DataTable dt = DataAccess.GetAccessData("select * from b");
为什么呢?
{
private string by="select * from b";
public static DataTable MyMethod()
{
DataTable dt = DataAccess.GetAccessData(by);
...
}
}只有这样才会出现扇面那个错误,在静态方法里面使用非静态成员。至于第3个问题,不把问题描述清楚,把代码贴全,也是没办法解答的……
类Class:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.Data.Odbc;
using System.IO;namespace Class
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
public partial class DataAccess
{
public DataAccess()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public static DataTable GetAccessData(string sql)
{
OleDbConnection conn=new OleDbConnection (ConnectionStrByAccess);
OleDbDataAdapter p_Adapter = new OleDbDataAdapter(sql,conn);
DataTable p_Dt = new DataTable();
try
{
p_Adapter.Fill(p_Dt);
p_Adapter.Dispose();
return p_Dt;
}
catch(System.Data.OleDb.OleDbException exp)
{
throw exp;
}
finally
{
conn.Close();
}
}在另一个类中调用:
using System;
using System.Data;
using System.Data.SqlClient;public class Wr
{
//这样调用不行,提示:错误 字段初始值设定项无法引用非静态字段、方法或属性“sqlconn.by”
string by = "select * from b";
DataTable dt = Class.DataAccess.GetAccessData(by);
}