public static void Main()
var a = new AdapterPresentationCustomBiometric2019();
Console.WriteLine("Type: " + t + " is assignable " + t.IsAssignableFrom(typeof(BaseMFAPresentation)));
Console.WriteLine("IsClass: " + t.IsClass);
Console.WriteLine("!IsAbstract: " + !t.IsAbstract);
Console.WriteLine("Class BaseType: " + t.BaseType);
Console.WriteLine("BaseType is assignable from BasePresentation: " + t.BaseType.IsAssignableFrom(typeof(BasePresentation)));
Console.WriteLine("BaseType is assignable from BaseMFAPresentation: " + t.BaseType.IsAssignableFrom(typeof(BaseMFAPresentation)));
public abstract class BasePresentation
public BasePresentation() {Console.WriteLine("base");}
public abstract class BaseMFAPresentation: BasePresentation
public BaseMFAPresentation() : base() {Console.WriteLine("base MFA");}
public abstract class AdapterPresentationCustomBiometricBase : BaseMFAPresentation
public AdapterPresentationCustomBiometricBase() : base() {Console.WriteLine("custom base");}
public class AdapterPresentationCustomBiometric2019 : AdapterPresentationCustomBiometricBase
public AdapterPresentationCustomBiometric2019() : base() {Console.Write("2019");}