Question by 
               Wizards_And_Mages · Jul 01, 2016 at 12:10 PM · 
                c#classinheritanceienumeratorinterface  
              
 
              Can't instantiate new class C#
I'm using the newest version of unity and I have a class with property public AllStats BaseStats { get; set; }, where the class AllStats is implemented like this: 
     public class AllStats : IEnumerable<Stats>
     {
         private MagicPower magicPower;
         public MagicPower MagicPower
         {
             get { return magicPower; }
             set
             {
                 magicPower = value;
                 Add("Magic Power", magicPower);
             }
         }
 
         private DebuffDuration debuffDuration;
         public DebuffDuration DebuffDuration
         {
             get { return debuffDuration; }
             set
             {
                 debuffDuration = value;
                 Add("Debuff Duration", debuffDuration);
             }
         }
 
         private Defense defense;
         public Defense Defense
         {
             get { return defense; }
             set
             {
                 defense = value;
                 Add("Defense", defense);
             }
         }
 
         private MagicDefense magicDefense;
         public MagicDefense MagicDefense
         {
             get { return magicDefense; }
             set
             {
                 magicDefense = value;
                 Add("Magic Defense", magicDefense);
             }
         }
 
         private CriticalPower criticalPower;
         public CriticalPower CriticalPower
         {
             get { return criticalPower; }
             set
             {
                 criticalPower = value;
                 Add("Critical Power", criticalPower);
             }
         }
 
         private CriticalChance criticalChance;
         public CriticalChance CriticalChance
         {
             get { return criticalChance; }
             set
             {
                 criticalChance = value;
                 Add("Critical Chance", criticalChance);
             }
         }
 
         private Multistrike multistrike;
         public Multistrike Multistrike
         {
             get { return multistrike; }
             set
             {
                 multistrike = value;
                 Add("Multistrike", multistrike);
             }
         }
 
         private CooldownReduction cooldownReduction;
         public CooldownReduction CooldownReduction
         {
             get { return cooldownReduction; }
             set
             {
                 cooldownReduction = value;
                 Add("Cooldown Reduction", cooldownReduction);
             }
         }
 
         private Evasion evasion;
         public Evasion Evasion
         {
             get { return evasion; }
             set
             {
                 evasion = value;
                 Add("Evasion", evasion);
             }
         }
 
         private Resistance resistance;
         public Resistance Resistance
         {
             get { return resistance; }
             set
             {
                 resistance = value;
                 Add("Resistance", resistance);
             }
         }
 
         private readonly Dictionary<string, Stats> _items = new Dictionary<string, Stats>();
 
         public void Add(string element, Stats config)
         {
             _items[element] = config;
         }
 
         public Stats this[string element]
         {
             get { return _items.ContainsKey(element) ? _items[element] : null; }
 
             set { _items[element] = value; }
         }
 
         public IEnumerator<Stats> GetEnumerator()
         {
             return _items.Values.GetEnumerator();
         }
 
         IEnumerator IEnumerable.GetEnumerator()
         {
             return _items.Values.GetEnumerator();
         }
     }
However, when I try to create new instance of this class using object initializer like this :
 BaseStats = new AllStats()
             {
                 MagicPower = new MagicPower(Level.CurrentLevel),
                 DebuffDuration = new DebuffDuration(Level.CurrentLevel),
                 Defense = new Defense(Level.CurrentLevel),
                 MagicDefense = new MagicDefense(Level.CurrentLevel),
                 CriticalPower = new CriticalPower(1),
                 CriticalChance = new CriticalChance(1),
                 Multistrike = new Multistrike(1),
                 CooldownReduction = new CooldownReduction(1),
                 Evasion = new Evasion(1),
                 Resistance = new Resistance(1)
             };
I get null reference exception. Why is that ? This used to work in normal visual studio, but it seems like the older version of unity's mono is causing some problems. How can I fix this ?
               Comment
              
 
               
              Your answer
 
 
             Follow this Question
Related Questions
Inheritance Question 1 Answer
Custom class, Null Reference Exception 4 Answers
GUI.Window from child class not reacting 1 Answer
Use a class like a function 1 Answer
Property Drawers and Inheritance 0 Answers
 koobas.hobune.stream
koobas.hobune.stream 
                       
               
 
			 
                