本文介绍了C#-界面帮助!的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有两个接口ICritterBrain和ICritter.
ICritterBrain的定义如下:
Hi,
I have two interfaces ICritterBrain and ICritter.
ICritterBrain is defined as follows:
public interface ICritterBrain
{
string Name { get; }
string Creator { get; }
Image[] Images { get; }
ICritter Body { set; }
void Birth();
void Think();
void NotifyBlockedByTerrain();
void NotifyBumped(IWorldObject otherCritter);
void NotifyEaten();
void NotifyCloseToFood(IWorldObject food);
void NotifyCloseToCritter(IOtherCritter otherCritter);
}
这是ICritter的定义:
This is the definition of ICritter:
public interface ICritter
{
void MoveCritter(int speed);
void StopCritter();
int Speed { get; }
int Direction { set; get; }
int Energy { get; }
int Age { get; }
int GetDirectionTo(IWorldObject other);
int GetDirectionTo(int x, int y);
Rectangle GetDestination();
bool IsTerrainBlockingRouteTo(int x, int y);
bool IsTerrainBlockingRouteTo(IWorldObject other);
Strength GetStrengthOf(IOtherCritter otherCritter);
void Attack(IOtherCritter otherCritter);
}
我需要实现接口ICritterBrain的一些属性,例如:
名称
创作者
图片
身体
我没有明确的方法.
目前,我正在这样做:
字符串mName ="blink";
字符串mCreator ="Shivam Mehta(100149264)";
Image [] mImages = new Image [3];//图片可以为Null
ICritter mBody;
I need to implement some properties of interface ICritterBrain like:
Name
Creator
Images
Body
I don''t have a clear idea on how do to so.
Currently I am doing this:
string mName = "blink";
string mCreator = "Shivam Mehta (100149264)";
Image[] mImages = new Image[3];// Images can be Null
ICritter mBody;
public string Name
{
get
{
return mName;
}
}
public string Creator
{
get
{
return mCreator;
}
}
public Image[] Images
{
get
{
return mImages;
}
}
推荐答案
public interface ICritterBrain
{
Image[] Images { get; }
ICritter Body { set; }
//...
}
public class CritterBrainGood : ICritterBrain
{
Image[] ICritterBrain.Images { get { return MyImages; } }
ICritter ICritterBrain.Body { set { body = value; } } //pay attention: values as a key work here
//...
Image[] MyImages;
ICritter body;
} //CritterBrainGood
public class CritterBrainGood : ICritterQuestionable
{
public Image[] Images { get { return MyImages; } }
public ICritter Body { set { body = value; } }
//...
Image[] MyImages;
ICritter body;
} //ICritterQuestionable
public class Critter : ICritter { /*...*/ }
//...
ICritter myCritter = new Critter();
ICritterBrain myCritterBrain = new CritterBrainGood();
myCritterBrain.Body = myCritter;
//..
//or
myCritterBrain.Body = new Critter(); //because Critter is ICritter
这篇关于C#-界面帮助!的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!