Я могу вспомнить, что при работе с MFC вы могли поддерживать несколько версий фреймворка MFC, проверив макрос _MFC_VER
.
Сейчас я делаю кое-что с .NET 4 и хочу использовать Tuple в нескольких местах, но все равно сохраняю все, что совместимо с 3.5.
Я хочу сделать что-то вроде:
#if DOTNET4
public Tuple<TSource, TResult> SomeMethod<TSource, TResult>(){...}
#else
public KeyValuePair<TSource, TResult> SomeMethod<TSource, TResult>(){...}
#endif