首页 / C# / 从部分类c#调用Base实体构造函数
从部分类c#调用Base实体构造函数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了从部分类c#调用Base实体构造函数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1138字,纯文字阅读大概需要2分钟。
内容图文
考虑以下情况,
我有DB First方法创建的实体,
// auto-generated class
public partial DBEntity : DBContext
{
public DBEntity ()
: base("name=DBEntity ") // gets connection string from api.config
{
}
}
我有时需要构建并传递连接字符串,所以我创建了这个,
public partial class DBEntity
{
public DBEntity (String connectionString)
{
if (string.IsNullOrEmpty(connectionString))
new DBEntity ();
else
base(connectionString); // this one fails
}
}
什么是最好的方式
>如果连接字符串为空,则调用无参数实体构造函数?
>如果conn string不为空,则从参数化构造函数中调用基础构造函数并实现下面的操作,
public DBEntity(String connectionString):base(connectionString)
我将永远做一个新的DBEntity(字符串)
解决方法:
您无法更改在构造函数中创建的对象的引用.换句话说,当你调用一个构造函数时,对象在内存中初始化,你只需要设置它.
相反,您应该使用静态方法,它允许您控制返回类型.您可以将它放在DbEntityFactory等其他类中,并调用DbEntityFactory.Create或将其放在DbEntity类中并调用DbEntity.Create.
public static DBEntity Create(String connectionString)
{
if (string.IsNullOrWhiteSpace(connectionString)) //use this instead of IsNullOrEmpty
return new DBEntity();
else
return new DBEntity(connectionString);
}
内容总结
以上是互联网集市为您收集整理的从部分类c#调用Base实体构造函数全部内容,希望文章能够帮你解决从部分类c#调用Base实体构造函数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。