2016-06-16 11 views
0

私はあなたが武器を作ることを可能にするプログラムを書こうとしており、その結果をリスト(目録)に保存します。一度武器が作られると、そのリストには問題があります。私がこれまで持って別のクラスの別のメソッドからリスト<Interface>をどのように埋め込みますか? C#

リストは、Characterクラスである

List<IEquipppable> Inventory = new List<IEquippable>(); 

です。

IEquippableが、私は武器(MakeWeapon)を作成し、プログラムのクラスのメソッドを持っているだけで、このことで

void Equip(Character character); 

とのインタフェースであること。

リストに作成された武器を保存するにはどうすればよいですか?

ありがとうございます。

+2

'Inventory.Add(someThing)'?さもなければ私達はあなたの質問を理解するためにあまりにも多くの文脈を欠いている。在庫を作成するラインはどこですか? 'MakeWeapon'はどこにありますか?彼らはどのように関係していますか?誰がリストを所有するはずですか? –

+2

そしてMattのものはIEquippableを実装する必要があります。 – Kevin

+0

'List 'クラスには、要素を追加するための '.Add()'メソッドがあります。あなたがIDEを使用している場合(これが推奨されます)、これはintellisenseでかなり自明です。 – David

答えて

3

武器を挿入するには、その武器がIEquippableインターフェイスを実装する必要があります。

public class Claymore: IEquippable 
{ 
    public void Equip(Character character) 
    { 
     Console.WriteLine("Freedom!"); 
    } 
} 

次に、武器のインスタンスを作成してリストに追加します。

IEquppable mySword = new Claymore(); 
Inventory.Add(mySword); 
+2

私は実際に 'Console.WriteLine("敵を目指して ");'私が推測する人々のための異なる粘土帽子を考えていました。 – David

+2

良い点。インターフェイスを使用することで素晴らしいことは、さまざまな種類の武器のライブラリ全体を書くことができることです。あなたは、剣、銃、スティック、スリングショット、トレブシェット、戦術核、およびあなたが考えることができる他の武器をカバーする階層抽象クラスを作ることさえできます。したがって、9mmの弾薬を服用し、誰かの目録に装備できるドイツのMP40サブマシンガンを表す 'Public class MP40:SubmachineGun <9mm>、IEquippable'を持つことができます。 –

関連する問題