public static async Task Main(string[] args)
{
new Child();
Console.ReadKey();
await Task.CompletedTask;
}
public static class Helper
{
public static string ValueWithLog(string s)
{
Console.WriteLine(s);
return s;
}
}
public class Base
{
private static string _baseStaticField = Helper.ValueWithLog($"{nameof(Base)}:{nameof(_baseStaticField)}");
public static string BaseStaticProperty { get; set; } = Helper.ValueWithLog($"{nameof(Base)}:{nameof(BaseStaticProperty)}");
private string _baseField = Helper.ValueWithLog($"{nameof(Base)}:{nameof(_baseField)}");
public string BaseProperty { get; set; }= Helper.ValueWithLog($"{nameof(Base)}:{nameof(BaseProperty)}");
static Base()
{
Helper.ValueWithLog($"{nameof(Base)}:static Base()");
}
public Base()
{
Helper.ValueWithLog($"{nameof(Base)}:public Base()");
}
}
public class Child : Base
{
private static string _childStaticField = Helper.ValueWithLog($"{nameof(Child)}:{nameof(_childStaticField)}");
public static string ChildStaticProperty { get; set; } = Helper.ValueWithLog($"{nameof(Child)}:{nameof(ChildStaticProperty)}");
private string _childField = Helper.ValueWithLog($"{nameof(Child)}:{nameof(_childField)}");
public string ChildProperty { get; set; } = Helper.ValueWithLog($"{nameof(Child)}:{nameof(ChildProperty)}");
static Child()
{
Helper.ValueWithLog($"{nameof(Child)}:static Child()");
}
public Child()
{
Helper.ValueWithLog($"{nameof(Child)}:public Child()");
}
}