非静态类

时间:2015-12-20 01:01:34

标签: c# static

我有一个棘手的问题,我需要修复我的一个重大项目。我试图从非静态类引用静态变量(由静态类拥有)。当我尝试这样做时,它会抛出异常' Eternal_Continent.PSTATS'的类型初始值设定项。抛出异常。'

内部异常读取

  

对象引用未设置为对象的实例。

这是我的PSTATS课程

public static class PSTATS
    {
        static Locations Locations;
        public static string name = "";
        public static int health = 100;
        public static int dmg = 1;
        public static int mana = 100;
        public static int hpotion = 3;
        public static int mpotion = 3;
        public static int def = 1;
        public static int level = 1;
        public static int xp = 0;
        public static float tradereward = 1.0f;
        public static string employer = "Knight Artemis";
        public static misc.Quest currentquest;
        public static misc.NPC currentnpc = null;
        public static int npcindex = 0;
        public static misc.Location currentlocation = Locations.Ardimir;
        public static string reward = "Charisma + 1";
        public static bool finding = false;
        public static string questreward = "G";
        public static int kills = 0;
        public static int gold = 0;
        // Has found item

        public static bool found = false;

        //Has job

        public static bool job = false;
        public static int reqkills = 0;
        public static int reqgold = 0;
        public static int dex = 1;
        public static int str = 1;
        public static int itl = 1;
        public static int cha = 1;

        public static bool existingdialog = false;
    }

这里是非静态类,称之为

public class Weapon
        {
            #region
            public Weapon(string name, string desc, int dmg, int mana)
            {

                Name = name;
                Desc = desc;
                Dmg = Convert.ToInt32(dmg * (PSTATS.level / 0.9));
                Manausage = mana;
            }
            public int Manausage;
            public int manausage
            {
                get
                {
                    return Manausage;
                }
                set
                {
                    Manausage = value;
                }
            }
            public string Name;
            public string name
            {
                get
                {
                    return Name;
                }
                set
                {
                    Name = value;
                }
            }
            public string Desc;
            public string desc
            {
                get
                {
                    return Desc;
                }
                set
                {
                    Desc = value;
                }
            }
            public int Dmg;
            public int dmg
            {
                get
                {
                    return Dmg;
                }
                set
                {
                    Dmg = Convert.ToInt32(value * (PSTATS.level / 0.9));
                }
            }

            #endregion
        }

感谢任何可以帮我解决问题的人。

0 个答案:

没有答案