首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >‘不实现接口成员'System.ICloneable.Clone()’

‘不实现接口成员'System.ICloneable.Clone()’
EN

Stack Overflow用户
提问于 2013-02-07 23:17:28
回答 1查看 3.1K关注 0票数 0

我在调用Icloneable接口时遇到一个小问题

我已经告诉这个类我想这样使用这个接口:

代码语言:javascript
复制
class UnitClass: ICloneable

并放入了一个克隆函数

代码语言:javascript
复制
    public Object Clone()
    {
        return this.MemberwiseClone();
    }

然而,由于某种原因,程序告诉我,我还没有实现System.ICloneable.clone(),我甚至尝试给函数明确命名,如下所示……

代码语言:javascript
复制
 public Object System.ICloneable.Clone()

但收效甚微,有人知道我做错了什么吗?

编辑:完整类

代码语言:javascript
复制
class UnitClass: ICloneable
{

//-----------------------------------------------------------------------------------------------
//----------------------------------------------Variables----------------------------------------

    private int unitID; //added for xml
    private string unitName;
    private int unitBaseHP;
    private int unitCurrentHP;
    private Carrier unitCarrier;
    private int unitRechargeTime;
    private int turnLastPlayed;
    private int strengthAgainstFighters;
    private int strengthAgainstBombers;
    private int strengthAgainstTurrets;
    private int strengthAgainstCarriers;

//-----------------------------------------------------------------------------------------------
//---------------------------------------------Constructor---------------------------------------

    public UnitClass()
    {
            unitID = 0;
            unitName = "Name Not Set";
            unitBaseHP = 0;
            unitCurrentHP = 0;
            unitCarrier = null;//Carrier works as faction ie red/blue or left/right
            unitRechargeTime = 0;
            turnLastPlayed = 0;
            strengthAgainstFighters = 0;
            strengthAgainstBombers = 0;
            strengthAgainstTurrets = 0;
            strengthAgainstCarriers = 0;
    }

//-----------------------------------------------------------------------------------------------
//---------------------------------------------Gets and Sets-------------------------------------

    public int UnitID//public
    {
        set { unitID = value; }
        get { return unitID; }
    }

    public string UnitName//public
    {
        set { unitName = value; }
        get { return unitName; }
    }

    public int UnitBaseHP//public
    {
        set { unitBaseHP = value; }
        get { return unitBaseHP; }
    }

    public int UnitCurrentHP//public
    {
        set { unitCurrentHP = value; }
        get { return unitCurrentHP; }
    }

    public Carrier UnitCarrier//public
    {
        set { unitCarrier = value; }
        get { return unitCarrier; }
    }

    public int UnitRechargeTime//public
    {
        set { unitRechargeTime = value; }
        get { return unitRechargeTime; }
    }

    public int TurnLastPlayed//public
    {
        set { turnLastPlayed = value; }
        get { return turnLastPlayed; }
    }

    public int StrengthAgainstFighters//public
    {
        set { strengthAgainstFighters = value; }
        get { return strengthAgainstFighters; }
    }

    public int StrengthAgainstBombers//public
    {
        set { strengthAgainstBombers = value; }
        get { return strengthAgainstBombers; }
    }

    public int StrengthAgainstTurrets//public
    {
        set { strengthAgainstTurrets = value; }
        get { return strengthAgainstTurrets; }
    }

    public int StrengthAgainstCarriers//public
    {
        set { strengthAgainstCarriers = value; }
        get { return strengthAgainstCarriers; }
    }

//---------------------------------------------------------------------------

    public object Clone()
    {
        return this.MemberwiseClone();
    }
}
EN

回答 1

Stack Overflow用户

发布于 2013-02-07 23:27:38

这对我来说很好。

代码语言:javascript
复制
public class MyClone : ICloneable
{
    public object Clone()
    {
        return this.MemberwiseClone();
    }
}

你可能不想再分享你的课程了?没有什么东西真的会吓到我。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14754557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档