Разбираюсь в исходниках Asp.Net встретил следущую конструкцию
public class OAuthMiddleware<TOptions> : AuthenticationMiddleware<TOptions>
where TOptions : OAuthOptions, new()
{
public OAuthMiddleware()
{
//code here...
}
}
Класс OAuthMiddleware
наследует класс AuthenticationMiddleware
и new()
Возникло три вопроса.
new()
- это анонимный класс? OAuthMiddleware
Ваш тип OAuthMiddleware
— это обобщённый тип (generic) с параметром TOptions
, и то, что после where
— это ограничения на этот самый тип-параметр вашего обобщённого типа.
where TOptions : OAuthOptions, new()
означает, что тип TOptions
должен
OAuthOptions
, иДля чего может понадобиться ограничение new()
? Например, в коде класса можно будет создать экземпляр этого типа:
TOptions opt = new TOptions();
Без ограничения на существование такого конструктора этот код невозможно было бы скомпилировать.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Работаю с накопителями в файловой системе через DriveInfoОднако, если подключить к компьютеру смартфон, то DriveInfo
Как передать строку из C++ std::string в приложение на C# используя Memory Mapped File?