C# 使用在另一个类中创建的对象

C# 使用在另一个类中创建的对象,c#,C#,我试图在一个类中使用在另一个类中创建的对象。有什么办法吗?我向您展示代码: 在这个名为Item的类中,我在末尾创建了一个名为spellwand的对象 namespace RPG.Entities { public class Item { public string Name { get; set; } public int Damage { get; set; } public int MagicalDamage { get; s

我试图在一个类中使用在另一个类中创建的对象。有什么办法吗?我向您展示代码:

在这个名为Item的类中,我在末尾创建了一个名为spellwand的对象

namespace RPG.Entities
{
    public class Item
    {
        public string Name { get; set; }
        public int Damage { get; set; }
        public int MagicalDamage { get; set; }
        public int Defense { get; set; }
        public int Resistance { get; set; }

        public Item(string name, int damage, int magicalDamage, int defense, int resistance)
        {
            Name = name;
            Damage = damage;
            MagicalDamage = magicalDamage;
            Defense = defense;
            Resistance = resistance;
        }

        Item spellwand = new Item("Spellwand", 0, 12, 0, 0);
    }
现在,在这个类角色中,我创建了下一个方法:

using RPG.Entities;
using System.Collections.Generic;
using System;

namespace RPG.Entities
{
    public class Character
    {
        public List<Item> Item { get; set; }

        public void AddItem(Item item)
        {
            Item.Add(item);
        }   
    }
}
有什么办法吗


顺便说一句,战斗中出现的错误是“对象咒语在当前上下文中不存在”。

我想你需要做的是在故事中创建如下列表:

namespace RPG.Entities
{
    public class Story
    {
        // Store all your possible game items here
        protected List<Item> GameItems = new List<Item>();

        public Story()
        {
            // Add your game items
            GameItems.Add(new Item("Spellwand", 0, 12, 0, 0));
            GameItems.Add(new Item("Axe", 0, 14, 0, 0));
        }

        public void Battle()
        {

            Character eskilie = new Character("Eskilie", "Magician");

            // Add item
            var spellwand = GameItems.Where(i => i.name == "Spellwand").FirstOrDefault();
            eskilie.AddItem(spellwand)
        }
    }
}

理想情况下,你会有一个ItemRepository类来检索你所有的游戏项目,但希望这能让你了解开始的结构。

为什么你想在
项目
类中创建一个
项目
?在外面创建它,你就可以使用它了。您的
类包含一个构造函数,允许您根据需要创建,那么为什么要创建一个内部构造函数呢?您需要了解;这是一个基本的编程概念。我想在item类中创建所有的项,因为它们将有很多。。。我想给他们打个电话。。。如果可能的话,但是您的
列表
集合在Item类之外。在类中创建它们不会花费更少的代码
namespace RPG.Entities
{
    public class Story
    {
        // Store all your possible game items here
        protected List<Item> GameItems = new List<Item>();

        public Story()
        {
            // Add your game items
            GameItems.Add(new Item("Spellwand", 0, 12, 0, 0));
            GameItems.Add(new Item("Axe", 0, 14, 0, 0));
        }

        public void Battle()
        {

            Character eskilie = new Character("Eskilie", "Magician");

            // Add item
            var spellwand = GameItems.Where(i => i.name == "Spellwand").FirstOrDefault();
            eskilie.AddItem(spellwand)
        }
    }
}
public class Item
{
    public string Name { get; set; }
    public int Damage { get; set; }
    public int MagicalDamage { get; set; }
    public int Defense { get; set; }
    public int Resistance { get; set; }

    public Item(string name, int damage, int magicalDamage, int defense, int resistance)
    {
        Name = name;
        Damage = damage;
        MagicalDamage = magicalDamage;
        Defense = defense;
        Resistance = resistance;
    }

}