创建扩展'现有的c#类
本文关键字:扩展 创建 | 更新日期: 2023-09-27 18:01:21
有许多类,如:
var db = new System.Data.SqlClient.SqlConnection();
可以使用 list,如:
db.Open();
db.Close();
//...
所以我要找的是类的完美副本:
public class SqlConnection{
private System.Data.SqlClient.SqlConnection db;
public SqlConnection() {
//create SqlConnection
db = new System.Data.SqlClient.SqlConnection();
}
public void Open() {
db.Open();
}
//...
}
,这样我就可以像使用普通类一样使用它,但有我自己的小定制:
db.Open();
db.Close();
//...
db.MyOwnFunktion();
是否有一个快速的解决方案,像一个视觉工作室内置功能这样做?
可以做几件事:
- 继承-创建自己的类,将继承不同的类,并将添加更多的功能
- 编写扩展方法-对于
SqlConnection
的情况,因为它是sealed
类,这是你应该做的(超过option1)
扩展方法的简短示例:
public static class Extensions
{
public static void DoSomething(this SqlConnection connection, int input)
{
//Do something
}
}
//And then when you want to use it:
SqlConnection connection = new SqlConnection();
connection.DoSomething(3);