Я не думаю, что текущая версия C # поддерживает такой синтаксис сахара. Но вы можете получить похожее поведение, подобное этому:
public static class test<T>
{
public static T Default => default(T);
}
И затем использовать его:
var value = test<int>.Default;
На самом деле, если вы боретесь между двумя, я бы порекомендовал остановиться на методах:
public static class test
{
public static T GetDefault<T>() => default(T);
}
Преимущество заключается в том, что вы можете помещать разные расширения в один и тот же класс тестирования для разных типов.