为了账号安全,请及时绑定邮箱和手机立即绑定

这个构造函数不就是个空函数吗,没什么用吧 ?你们可以帮忙写一个有用的例子给我看看吗

这个构造函数不就是个空函数吗,没什么用吧 ?你们可以帮忙写一个有用的例子给我看看吗

C#
胡子哥哥 2023-01-03 15:11:41

这是一个数据访问层文件,我没发现有什么构造函数有什么用啊
namespace OldPhotosDAL
{
public class W_OldPhotos
{
public W_OldPhotos()
{ }
#region 成员方法

/// <summary>
/// 增加一条投票数据
/// </summary>
public int AddVoteList(OldPhotosModel.W_OldPhotos_VoteList model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into W_OldPhotos_VoteList(");
strSql.Append("UID,PID)");
strSql.Append(" values (");
strSql.Append("@UID,@PID)");
strSql.Append(";select @@IDENTITY");
SqlParameter[] parameters = {
new SqlParameter("@UID", SqlDbType.NVarChar,100),
new SqlParameter("@PID", SqlDbType.Int,4)
};
parameters[0].Value = model.UID;
parameters[1].Value = model.PID;  

object obj = DbHelperSQLl.GetSingle(strSql.ToString(), parameters);
if (obj == null)
{
return 1;
}
else
{
return Convert.ToInt32(obj);
}
}
}

查看完整描述

2 回答

?
收到一只叮咚

TA贡献1571条经验 获得超4个赞

SqlParameter[] parameters = {
new SqlParameter("@UID", SqlDbType.NVarChar,100),
new SqlParameter("@PID", SqlDbType.Int,4)
};

你代码里就有一个有用的例子

在你实例话SQLPARAMETERS的时候,构造函数当中传递了3个参数,可以直接对对象的属性赋值,当然了,你也可以用对象.属性=的形式去完成赋值!

举例说明一下吧,当你需要用到一个用于数据访问的底层抽象类的时候,一个业务当中需要用到多个数据库联系起来,那么你怎么做到让这个底层类去支持动态的配置连接字符串?

这个时候你就可以采用订制一个类的静态字段,然后构造函数当中对这个字段赋值,那么当你访问这个对象的时候,就可以使用你想要的字符连接串了!

public class demo
{

private static string connstr;

public demo(string str)
{
this.connstr=str;
}

\\用于访问数据库的静态方法


用的时候就

demo dm=new demo("连接字符串")
dm.方法

这个样子的!构造函数的功用只能说在通常的应用当中被发现的。。。。当然了可能我举的例子不全面,写的多了,你就会发现以后太多的地方需要用到这个东西了,多多理解面向对象的含义吧!

至于你说的那个空构造函数,那个是默认的,你就是删了,编译器也会为你加上去,你的程序执行的时候并不是执行.CS文件,而是CS文件被编译后的程序集,你可以反编译出来你的DLL,就可以看到虽然.CS文件中没有默认构造函数,编译后也会被加上去的!

查看完整回答
反对 回复 2023-01-06
?
忽然笑

TA贡献1560条经验 获得超5个赞

我理解就是空的,没有用
不写也行

查看完整回答
反对 回复 2023-01-06
  • 2 回答
  • 0 关注
  • 4 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信