注册 登录
编程论坛 ASP.NET技术论坛

通用类的编写问题

wxm198427 发布于 2009-11-01 16:43, 693 次点击
是这样的,比方我要做一个系统,而且可能有很多下拉框(dropdownlist)要引用已经建立的数据库信息作为下拉框的直显示出来,我们通常可以写一个通用类来实现是吧,首先在项目中建一个文件,通用类方法放在里面,当某个页面调用的时候就用一条语句就行了,首先把SQL语句作为通用类的一个参数传过去,然后通用类返回一个直就是了,这个直就是那个数据库信息,这个数据库信息是同类信息的一列比方是数据库中某个字段的所有直,在调用页面用一个引用就实现了。同类的情况可以是消息框,告诉用户不能输入空直这样的,所以我就想问,那个通用类怎么回事,怎么写,怎么个原理?我是一个C#初学者,还请各位多多指教,小弟先行谢谢了……………………
7 回复
#2
养下就很帅2009-11-01 23:25
在引用页面实例化你说的通用类,然后调用方法。
就好比 string s = new string();
       s.ToLower();
string就是你的通用类 在不同的工程或文件夹中注意添加引用
#3
bygg2009-11-02 16:59
你都说得很清楚了啊.
就是接收你传过去的语句,再执行一下数据库查询,再将查询的结果返回去就行了.
#4
wxm1984272009-11-02 19:49
回复 3楼 bygg
这个我知道是执行调用页面传过去的参数,但是我曾经看过那个,是这样的,调用页面传了两个参数去,一个是调用页面的SQL查询语句,而另外一个,比如下拉框,他传过去一个引用(ref 参数1,SQL),参数1到那个通用类页面函数的参数就是成了DLL什么的,这个怎么回事,所以,我就想了解的就是这里,这个第一个参数怎么回事,通用类的得到的第一个参数怎么回事,而且是个什么原理,其他的如MSGBOX通用类,等等,帮忙解释下,谢谢了
#5
bygg2009-11-03 12:26
我不知道你见过的那个类里面是怎么写的,但是我是这样猜想的。
比如类中的方法是

public list<String> ExcSql(ref int iResult, string sqlstr)
{
    list<String> revList = new List<String>();
    if(数据查询成功)
    {
        revList = ......
        iResult = 0;
    }
    else
    {   
        iResult=1;
    }
    retrun revList;
}

调用:
int result = 0;

list<String> data = ExcSql(result,sqlstr);
if(result == 0)
{
    绑定数据
}
else
{
    不绑定。
    MessageBox.Show("数据查询失败!");

}

我们在调用时,传入的result值,在ExcSql方法中已经被改变了,就可以通过ref修饰符直接在外面获取,而不用通过retrun。

建议你看一下 out 和 ref 的用法,以及异同点。

而其它的如什么MsgBox类就很简单,直接传入一个错误编号,或错误信息,在类中用MessageBox或者自定义的窗体进入显示出来就可以了。
#6
yms1232009-11-03 18:34
不知道楼主的学C#之前是学什么的语言基础怎么样,除了泛型之外,还有一种概念叫做反射。
#7
wxm1984272009-11-04 16:07
谢谢bygg,谢谢您,
1