I have designed a simple type provider which provide types depending on my parameter. I would like to know if it is possible to define ProvidedTypeDefinitions that would inherit another ProvidedTypeDefinition?
I know that statically I can do the following :
type People() = class end
type Student() =
inherit People()
type Teacher() =
inherit People()
and then I can pattern match like this using Type Test Pattern:
let f (x:People) =
match x with
| :? Student -> "Student"
| :? Teacher -> "Teacher"
| _ -> "Nothing !!"
What I would like to do in my Type provider is to create ProvidedTypeDefinitions that inherit another ProvidedTypeDefinition. Such that when I use the type provider to generate those types I can pattern match on them (for instance, I know that at runtime one of this types will be instanciated but I don't know which one except that it is one of the ProvidedTypeDefinitions).
Thank you for your time!