创建现有c#类的扩展“副本”

迈克尔1248

周围很多类,例如:

var db = new System.Data.SqlClient.SqlConnection();

可以像这样使用ist:

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();

有没有像visual-studio-build-in内置功能这样的快速解决方案呢?

吉拉德·格林(Gilad Green)

一个人可以做几件事:

  1. 继承-创建您自己的类,该类将从其他类继承并添加更多功能
  2. 编写扩展方法-由于您的情况是SqlConnectionsealed是您应该做的类(在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);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Xamarin / C#扩展现有类

来自分类Dev

C# - 扩展现有框架密封类

来自分类Dev

从现有副本创建新的MySQL副本

来自分类Dev

扩展现有的类并添加clone()方法C#

来自分类Dev

c# .net:使用初始化时应覆盖的方法扩展现有类

来自分类Dev

如何在运行时动态创建C#类(根据现有类)

来自分类Dev

如何创建现有Docker映像的副本

来自分类Dev

如何创建现有 DataFrame(panda) 的副本?

来自分类Dev

尝试为Android中现有的类创建扩展类

来自分类Dev

使用构造函数类制作现有类实例的副本

来自分类Dev

如何“扩展”现有类的现有方法?

来自分类Dev

如何“扩展”现有类的现有方法?

来自分类Dev

现有Plunkr的副本

来自分类Dev

SQLAlchemy-核心-创建现有表的副本

来自分类Dev

如何创建现有git工作仓库的裸仓库副本

来自分类Dev

在C#中创建结构的浅表副本

来自分类Dev

创建现有字典的副本,但为副本分配唯一的ID

来自分类Dev

创建现有字典的副本,但为副本分配唯一的ID

来自分类Dev

如何在Swift中使用扩展协议在Obj-C类上公开现有属性

来自分类Dev

C#从DLL扩展类

来自分类Dev

如何创建现有类的新实例?

来自分类Dev

在类内部创建类的副本

来自分类Dev

你如何通过 C# 中的扩展来扩展带有接口的类和结构?

来自分类Dev

在Python中扩展现有的类实例

来自分类Dev

如何在Typescript中扩展现有的类

来自分类Dev

向XText中的现有类添加扩展方法

来自分类Dev

如何扩展现有的 PHP 日历类

来自分类Dev

继承时如何避免创建基类的副本?C ++

来自分类Dev

C++ 如何创建链接列表的副本作为类对象?