Maybe I\'m overworked, but this isn\'t compiling (CS0411). Why?
interface ISignatur { Type Type { get; } } interface IAccess where
Get takes two type arguments. When you call service.Get(new Signatur()); how does the compiler know what T is? You'll have to pass it explicitly or change something else about your type hierarchies. Passing it explicitly would look like:
Get
service.Get(new Signatur());
T