Всем привет! Есть ли изящное решение для переопределения возвращаемого типа

у метода родителя?

У меня есть куча разных сокетов, объединённых одним базовым классом. Сокеты делятся по типам и я хотел бы, чтобы я мог в каждом сокете определить его тип, расписать какие-то операции и получить тип, соответствующий типу сокета.

Как можно решить такую ситуацию?

public class SocketBase
{
public virtual object GetValue()
{
return null;
}
}

public class VectorSocket : SocketBase
{
public override Vector4 GetValue()
{
return new Vector4(0f, 0f, 0f, 1f);
}
}

3 ответов

7 просмотров

public abstract class SocketBase<T> { public abstract T GetValue(); } public sealed class FloatSocket : SocketBase<float> { public override float GetValue() { return 5; } } public sealed class VectorSocket : SocketBase<Vector4> { public override Vector4 GetValue() { return Vector4.one; } }

Boris-Nikolaev Автор вопроса

в C# 9 для такого никаких костылей не нужно

Похожие вопросы

Обсуждают сегодня

Подскажите, а есть vault lite или ченить такое?) А то нужен вольт для похода в вольт, но весит он ~500 мб) как-то многовато для парочки запросов ))
Alexandr Orloff
17
Всем привет, есть небольшая проблема Есть такой скрипт document.addEventListener('DOMContentLoaded', function () { const sliderTabs = document.querySelectorAll('.s...
A da
8
@go1337 @dblackCat Привет. Все ещё дрочусь с fastpanel. Добавил второй домен который должен смотреть в рут того же сайта, но так как это просто домен, а не сайт, я не могу ему...
Ross 🦴
9
До речі, в ево нема можливості чи якого розширення щоб з адмінки з телефона зайти і терміново щось в верстці поправити?
Женя
7
кто-нибудь пользуется тайм-трекерами во время работы? так много разных нагуглил, может есть что-то популярное
Lencore
8
Пацаны. Я разрабатываю софт для инвайтинга на телетон, и столкнулся с такой проблемой, в один из чатов не могу приглашать никого, не дает добавлять, в то же время через официа...
Kernel Panic
11
Скажите, а кому нужен Currency как отдельный плагин вместо полноценного ecommerce в OctoberCMS? Кто-то использует его уже или планирует в будущем? Может я что-то не понимаю?
Igor
13
Розмовами про Рево мені нагадали часи, коли шаблони правилися прямо в адмінці. Хто в курсі, чому відійшли від цієї практики, так блейд не працює? Доволі зручно ж було (інколи)
Женя
3
Всем добрый вечер, Рад оказаться в кругу единомышленников. Начинаю погружаться в мир .net веба. Зовут Ерасыл 🖖 У меня назрел вопрос: Какой процент проектов, прошедшие через в...
Ерасыл
6
Чому? Да тому що без GiT не уявляю нормального проекта а коли код в базі то то так собі
Dmytro Lukianenko
3
Карта сайта