Stack-Überlauf-Ausnahme in c # setter

Das ist einfach zu erklären: das funktioniert

using System;
using ConstraintSet = System.Collections.Generic.Dictionary<System.String, double>;

namespace ConsoleApplication2
{
    class test
    {
        public ConstraintSet a { get; set; }
        public test()
        {
            a = new ConstraintSet();
        }
        static void Main(string[] args)
        {
            test abc = new test();
            Console.WriteLine("done");
        }
    }
}

das tut nich

using System;
using ConstraintSet = System.Collections.Generic.Dictionary<System.String, double>;

namespace ConsoleApplication2
{
    class test
    {
        public ConstraintSet a { get { return a; } set { a = value; } }
        public test()
        {
            a = new ConstraintSet();
        }
        static void Main(string[] args)
        {
            test abc = new test();
            Console.WriteLine("done");
        }
    }
}

Ich erhalte eine Stapelüberlauf-Ausnahme für einen Setter in der zweiten Klasse und ich weiß nicht warum. Ich kann das erste Formular nicht verwenden, da es von Unity Engine @ nicht unterstützt wir

Antworten auf die Frage(8)

Ihre Antwort auf die Frage