Adaptive API Definitions in C#