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;
}
}