Does this code describe an Existential Type in C#?
- by noblethrasher
Currently watching Bart De Smet's explanation of IQueryable and he mentioned Existential Types (which I've been curious about for some time). After reading the answers to this question I'm just wondering if this is a way to construct it in C#:
public abstract class ExistentialType
{
private ExistentialType() { }
public abstract int Foo();
public ExistentialType Create()
{
return new ConcreateType1();
}
private class ConcreateType1 : ExistentialType
{
public override int Foo()
{
throw new NotImplementedException();
}
}
private class ConcreateType2 : ExistentialType
{
public override int Foo()
{
throw new NotImplementedException();
}
}
private class ConcreateType3 : ExistentialType
{
public override int Foo()
{
throw new NotImplementedException();
}
}
}