foreach(var obj in objList)
{
switch (obj){
caseA aValue:
Console.WriteLine("This type is {0}.",aValue.GetType().ToString());
break;
caseB bValue:
Console.WriteLine("This type is {0}.",bValue.GetType().ToString());
break;
}
}
var objList = newList<Type> {
(newA()).GetType(), (newB()).GetType()
};
foreach(var obj in objList)
{
switch (obj){
caseType aValue when aValue == typeof(A):
Console.WriteLine("This type is {0}.",aValue.ToString());
break;
caseType bValue when bValue == typeof(B):
Console.WriteLine("This type is {0}.",bValue.ToString());
break;
}
}