作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
假设我想从 System.Data.SqlClient.SqlTransaction
继承密封。假设我只想在 SqlTransaction
周围放置一个包装器,并始终使用 MyTransaction
而不是 SqlTransaction
。有没有一种方法可以使用隐式/扩展运算符将 MyTransaction
转换为 SqlTransaction
?
最佳答案
您可以创建一个具有内部事务变量的类,然后公开方法和属性。有点像这样:
public class MyTransaction
{
System.Data.SqlTransaction myTx = someConnection.CreateTransaction();
public void CommitTransaction() : {
myTx.CommitTransaction()
}
}
您也可以让它继承自 DbTransaction,然后重写抽象和虚拟过程以使用内部 myTx 变量,但它开始变得有点复杂,没有明显的真正原因......
关于c# - 有没有办法在 C#/VB.NET 中伪造继承?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8510602/
我是一名优秀的程序员,十分优秀!