У меня есть функция, сделать общие вещи:«пустота» в качестве родового параметра
class MyBaseClass<TOut>
{
public abstract TOut MyFunc<TOut>();
}
и конкретные реализации
class MyDerivedClass : MyBaseClass<string>
{
public override string MyFunc<string>()
{
string strSomeThing;
... initialization of strSomeThing;
return strSomeThing;
}
}
и несколько аналогичных производных классов.
(Нет никаких ограничений на общий тип).
Сегодня я получил случай, когда мне нужно «MyFunc», чтобы делать какие-то действия (скажем, сохранить данные в БД) и не нужно возвращать ничего значимого ...
В этом случае я хотел бы иметь " пустота»в качестве параметра типа ...
Я пытался сделать это, компилятор ответил:
не может использовать„недействительным“в качестве параметра типа.
Не могли бы вы посоветовать, что является лучшим решением для моего дела?
Просто используйте «Объект» в качестве типа параметра и возвращаете значение null в функции?
Есть ли что-то лучше?
Большое спасибо!
Это неудачный факт, что 'GenericType' не представляется возможным, в отличие от функциональных языков с типом 'unit', где вы можете сделать это легко. –