Ich habe zwei Klassen. Ein Spieler der Klasse, die die Eigenschaften Name, Gleichgewicht und Karten hat:C# Wie verwende ich die Eigenschaft eines instanzierten Objekts (eine Liste) in einer Funktion?
class Player
{
public string Name;
public decimal Balance;
public List<Card> Cards; // My question is related to this property
}
und eine Karte Klasse:
class Card
{
public string Name;
public int Attack;
public int Defense;
public decimal Cost;
}
ich ein Objekt für den Spieler instanziiert:
var player = new Player("Ahmad", 100);
und auch eine Karte:
var card = new Card("Mino", 3, 3, 200);
hinzugefügt dann die Karte des Spielers Karten:
player.Cards[0] = card;
Ich kann es einfach auf der Hauptmethode anzuzeigen, in dem es instanziiert wurde, aber das Problem ist: Wie kann ich die Karten des Spielers in einer Funktion zugreifen? etwa so:
///<summary>
/// Function to show current cards
/// </summary>
public static void ViewCards(object player)
{
var cards = player.Cards // This line doesn't work
foreach (var card in cards)
{
Console.WriteLine($"{card.Name}");
Console.WriteLine($"Attack: {card.Attack}");
Console.WriteLine($"Defense: {card.Defense}");
Console.WriteLine($"Cost: ${card.Cost}");
}
}
Ich liebe Ihren Vorschlag. Danke, ich schätze es sehr. –
@AhmadAbdullahAwayhan - kein Problem. Wenn Sie es mögen, denken Sie bitte daran zu upvote (anders als das Markieren als Antwort, da Sie mehrere Antworten aufwerten können). Sie tun dies mit dem Pfeil nach oben neben einer Antwort. – Igor