{}
run-icon
Main.cs
using System; using System.Collections.Generic; public class Program { public static void Main() { Console.WriteLine("Hello"); Base baseClass = Base.getElement("test1"); } } public class Derived : Base { public static Derived derived_1 = new Derived("test1"); public static Derived derived_2 = new Derived("test2"); public static Derived derived_3 = new Derived("test3"); public static Derived derived_4 = new Derived("test4"); protected Derived(string field1) : base(field1) { } } public class Base { public static List<Base> list; public static Base[] derivedClass; static Base() { list = new List<Base>(); derivedClass = new Base[] { Derived.derived_1, Derived.derived_2, Derived.derived_3, Derived.derived_4 }; } public string field1; protected Base(string field1) { this.field1 = field1; list.Add(this); } public static Base getElement(string field1) { foreach (var element in list) { if (element.field1.Equals(field1)) { return element; } } return null; } }
Output