加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C# – 创建可保存对象

发布时间:2020-12-15 22:35:32 所属栏目:百科 来源:网络整理
导读:我想创建一个类库,它包含一个对象可以派生的接口,比如ISaveableObject. 现在,此接口应实现以下功能: 从此接口派生的对象应具有ToSaveableObject方法(类似于System.Object.ToString()方法). 它应该包含一个特定的构造函数,它将一个对象数组作为参数. 这两者
我想创建一个类库,它包含一个对象可以派生的接口,比如ISaveableObject.

现在,此接口应实现以下功能:

>从此接口派生的对象应具有ToSaveableObject方法(类似于System.Object.ToString()方法).
>它应该包含一个特定的构造函数,它将一个对象数组作为参数.

这两者之间的连接应该是ToSaveableObject方法返回一个字符串,该字符串获取object []所需的所有属性并将其转换为可读字符串并返回它.

我是想通过使用接口来进入正确的方向,还是更适合这种情况的抽象类?

遗憾的是,接口无法实现构造函数,那么还有另一种方法可以实现我的目标吗?

解决方法

使用抽象基类来形成派生类的合约.你想要的更多的是一个实现细节,它不仅仅是一个接口所能提供的.

抽象基类看起来像这样

public abstract class SaveableObject {
    protected object[] parameters = new object[0];

    protected SaveableObjectBase(object[] objects) {
        this.parameters = objects;
    }

    public abstract string ToSaveableObject();
}

所以现在派生类必须实现ToSaveableObject()方法,并且可以访问构造函数中传递的对象以生成字符串.

如果ToSaveableObject方法的构造算法对于所有派生类型都是相同的,那么您应该只在基本抽象类中实现该方法,以便所有派生类都具有已经内置的功能.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读