2013-02-07 1 views
0

:'인터페이스 멤버를 구현하지 않습니다'System.ICloneable.Clone() '나는 내가 같은 인터페이스를 사용하고자하는 클래스를 말 했어요</p> <p>Icloneable 인터페이스에서 호출 작은 문제에 봉착

class UnitClass: ICloneable 

프로그램은 내가 구현하지 않은 내게 말하고 어떤 이유로 그러나

public Object Clone() 
    { 
     return this.MemberwiseClone(); 
    } 

을 복제하는 기능에 놓여있다 System.ICloneable.clone() 나는 심지어 능을 제공 노력 n 이렇게 명시적인 이름은 ...

public Object System.ICloneable.Clone() 

하지만 아무도 내가 뭘 잘못하고 있는지 알아?

편집 : 전체 클래스

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(); 
    } 
} 
+1

마지막 정의가 잘못되었습니다 (public 일 수는 없으며 동시에 명시 적으로 메소드를 구현할 수는 있지만). – Jon

+1

전체 수업을 게시 할 수 있습니까? 또는 더 나은, 최소한의 클래스 재치 똑같은 문제? – Kobi

+1

생성 된 메소드를 삭제하고 다시 추가하십시오. Iclonable을 오른쪽 클릭하고'Implement Interface'>'Implement Interface'를 선택하십시오. 그것을 잘 작동하는지 컴파일하십시오. –

답변

0

이 나를 위해 잘 만들었습니다.

public class MyClone : ICloneable 
{ 
    public object Clone() 
    { 
     return this.MemberwiseClone(); 
    } 
} 

더 이상 수업을 공유하고 싶지 않으십니까? 아무것도 정말로 나에게 뛰어 오르는 것이 아니다.

관련 문제