-4 / 0 / 0
Регистрация: 13.11.2015
Сообщений: 488
1

Преобразование типов

16.05.2018, 16:15. Показов 517. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Я унаследовал стандартный класс Socket в своем классе ASock.
Вопрос о приведение типа Socket к моему классу ASock.
Вот так не работает:
C#
1
2
            Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            ASock a = (ASock)s;
Вот так работает:
C#
1
2
            Socket s = new ASock(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            ASock a = (ASock)s;
Но меня интересует именно первый вариант. Подскажите такое можно провернуть? Или как эту задачу можно по другому решить.

Добавлено через 2 минуты
вот сам унаследованный класс:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    class ASock : Socket
    {
        public ASock(AddressFamily addressFamily, SocketType ASockType, ProtocolType protocolType)
            : base(addressFamily, ASockType, protocolType) { }
 
        public void ASend(string mess)
        {
            byte[] buf = Encoding.UTF8.GetBytes(mess);
            BeginSend(buf, 0, buf.Length, 0, new AsyncCallback(Srv_Events.OnSend), this);
        }
        public void ASend(byte[] buf)
        {
            BeginSend(buf, 0, buf.Length, 0, new AsyncCallback(Srv_Events.OnSend), this);
        }
        public void AClose(SocketShutdown socketShutdown = SocketShutdown.Receive)
        {
        }
    }
Добавлено через 2 минуты
Загвоздка в том что сервер возвращает подключенный сокет именно в типе Socket. А мен надо преобразовать его в свой тип.

Добавлено через 10 секунд
ASock handler = null;


handler = (ASock)srv_handler.EndAccept(ar);
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.05.2018, 16:15
Ответы с готовыми решениями:

Преобразование типов
Как преобазовывать(копировать) ListBox.lines в List<string> Description = new List<string>(); и обратно?

Преобразование типов
Подскажите как в c# с массивом int можно поработать как с массивом byte; Как в с++, например, int * ip = new int ; (char *)ip = 7;

Преобразование типов....
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using...

3
 Аватар для Toros1992
899 / 554 / 275
Регистрация: 26.11.2015
Сообщений: 1,758
Записей в блоге: 2
16.05.2018, 17:33 2
Например, сделайте конструктор класса Asock, который будет принимать объект Socket
0
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
16.05.2018, 17:56 3
Олег2000про, агрегируйте объект Socket внутри ASock, как приватное поле. А в публичных методах ASock выполняйте действия с Socket. Сам Socket, как сказано выше передавайте в конструктор ASock.
0
-4 / 0 / 0
Регистрация: 13.11.2015
Сообщений: 488
16.05.2018, 23:13  [ТС] 4
Toros1992, aquaMakc, спасибо большое. Даже не догадывался о таком решении
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.05.2018, 23:13
Помогаю со студенческими работами здесь

Преобразование типов
Есть метод, который принимает на вход переменную типа IEnumerable<DataRow>; у меня есть datagridView. Могу ли я коллекцию строк...

Преобразование типов
Есть такая заковырка. Допустим есть переменая string a="54"; , так вот как ее можно преобразовать к типу int или другому числовому типу,...

Преобразование типов
нужна помощь с преобразованием типа. Из текстового поля в которое предполагается введение 13 значного числа - ИНН Индивидуального...

Преобразование типов
Код: using System; using System.Text; public class Program { public static void Main(string args) { string...

Преобразование типов
подскажите как преобразовать правильно значение стринг в булеан мой пример: namespace ConsoleApp15 { public class...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
Введение в Dapr для разработчиков .NET
UnmanagedCoder 18.03.2025
Разработка распределенных систем никогда не была настолько востребованной и одновременно такой сложной. Если вы . NET разработчик, то наверняка сталкивались с необходимостью жонглировать обнаружением. . .
Собеседование по Spring Boot: продвинутые вопросы и ответы
Javaican 18.03.2025
Собеседования на позиции старших разработчиков и архитекторов требуют глубокого понимания внутренних механизмов Spring Boot, нюансов конфигурирования, подходов к оптимизации и построению сложных. . .
Перечисления в TypeScript: использование и лучшие практики
run.dev 18.03.2025
Пишете код и устали от разбросанных по проекту "волшебных" строк и чисел? Знакомая ситуация: где-то в глубине кода притаилась строка "ADMIN", а в другом месте используется "admin". И вот уже. . .
Фишки Kotlin, которые все любят
Javaican 18.03.2025
Помню, как скептически относился к появлению "ещё одного языка для JVM" — мол, зачем нам что-то новое, когда есть Java? Но первый же проект на Kotlin заставил меня пересмотреть свое мнение. Код стал. . .
Списки и кортежи в Python: различия, особенности, применение
py-thonny 18.03.2025
Если вы когда-нибудь писали код на Python, то наверняка сталкивались с конструкциями вида или ('имя', 25, 'инженер'). Это и есть списки и кортежи — последовательности, хранящие упорядоченные наборы. . .
Интеграция JavaScript в Haskell
golander 18.03.2025
Ключевая особенность нового JS-бэкенда GHC — возможность создавать колбэки из JavaScript в Haskell-код. Это открывает дорогу разработке полноценных браузерных приложений, позволяя реагировать на. . .
Циклы for в Python
py-thonny 17.03.2025
Существует множество ситуаций, когда нам нужно выполнить одно и то же действие несколько раз. Цикл for в Python — настоящий рабочий конь для большинства программистов. Если вам нужно пройтись по всем. . .
Предсказание ветвлений - путь к высокопроизводи­тельному C++
NullReferenced 17.03.2025
В высокопроизводительном программировании на C++ каждый такт процессора на счету. Когда речь заходит о разработке систем с низкой задержкой — будь то высокочастотная торговля, обработка потоковых. . .
Паттерн CQRS в C#
UnmanagedCoder 17.03.2025
Создание сложных корпоративных приложений часто требует нестандартных подходов к архитектуре. Один из таких подходов — паттерн CQRS (Command Query Responsibility Segregation), предлагающий простую,. . .
Паттерн Цепочка ответственности в C#
UnmanagedCoder 17.03.2025
Цепочка ответственности — это поведенческий паттерн проектирования, который позволяет передавать запросы последовательно по цепочке потенциальных обработчиков, пока один из них не обработает запрос. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru