Stel ik heb de volgende abstract class:
Vervolgens kan ik een implementatie maken van deze abstract class:
Maar ik kan ook bijvoorbeeld een interface als type meegeven:
En dat wil ik dus niet. Ik wil alleen classes als type hebben, en geen interfaces o.i.d. Is er een manier om hier op te checken?
Ik hoopte dat dit zou werken:
maar dat is blijkbaar geen constraint op het type.
Iemand een idee?
C#:
1
2
3
4
5
6
7
| public abstract class AbstractIets<T> { public void DoeIets(T entity) { ... } } |
Vervolgens kan ik een implementatie maken van deze abstract class:
C#:
1
2
3
4
| public class CustomerIets : AbstractIets<Customer> { } |
Maar ik kan ook bijvoorbeeld een interface als type meegeven:
C#:
1
2
3
4
| public class CustomerIets : AbstractIets<ICustomer> { } |
En dat wil ik dus niet. Ik wil alleen classes als type hebben, en geen interfaces o.i.d. Is er een manier om hier op te checken?
Ik hoopte dat dit zou werken:
C#:
1
| public abstract class AbstractIets<T> where T : class |
maar dat is blijkbaar geen constraint op het type.
Iemand een idee?