Сообщение Re: C# и хитрый вариант с дженериком для метода - как сделат от 13.05.2022 3:35
Изменено 13.05.2022 3:35 samius
Re: C# и хитрый вариант с дженериком для метода - как сделать?
Здравствуйте, senglory, Вы писали:
S>
S>ВОт как мне правильно определить метод, отрисованный болдом? Сейчас в .NET 6 компилер на заголовок метода ругается и не переваривает его.
Нельзя переопределить метод, определенный с generic параметрами, используя лишь частные значения параметра. Даже c where не получится. Сигнатура должна быть в точности такой же, как и у virtual метода. Имена параметров отличаться могут, типы — нет.
S>
S>public class Request<K>
S>{
S> public K Id;
S>}
S>public class Response<T>
S>{
S> public T Data;
S>}
S>public class MyDto
S>{
S>}
S>public abstract class BaseStorage
S>{
S> public virtual Response<T> GetDemo<T, K>(Request<K> request)
S> {
S> }
S>}
S>public class ChildStorage : BaseStorage
S>{
S> public override Response<MyDto> GetDemo<MyDto, int>(Request<int> request)
S> {
S> return new Response<MyDto>();
S> }
S>}
S>S>ВОт как мне правильно определить метод, отрисованный болдом? Сейчас в .NET 6 компилер на заголовок метода ругается и не переваривает его.
Нельзя переопределить метод, определенный с generic параметрами, используя лишь частные значения параметра. Даже c where не получится. Сигнатура должна быть в точности такой же, как и у virtual метода. Имена параметров отличаться могут, типы — нет.
Re: C# и хитрый вариант с дженериком для метода - как сделат
Здравствуйте, senglory, Вы писали:
S>ВОт как мне правильно определить метод, отрисованный болдом? Сейчас в .NET 6 компилер на заголовок метода ругается и не переваривает его.
Нельзя переопределить метод, определенный с generic параметрами, используя лишь частные значения параметра. Даже c where не получится. Сигнатура должна быть в точности такой же, как и у virtual метода. Имена параметров отличаться могут, типы — нет.
S>ВОт как мне правильно определить метод, отрисованный болдом? Сейчас в .NET 6 компилер на заголовок метода ругается и не переваривает его.
Нельзя переопределить метод, определенный с generic параметрами, используя лишь частные значения параметра. Даже c where не получится. Сигнатура должна быть в точности такой же, как и у virtual метода. Имена параметров отличаться могут, типы — нет.