Здравствуйте, adontz, Вы писали:
A>Здравствуйте, TDLite, Вы писали:
TDL>>Как в данном случае правильно провести наследование?
A>Вы осознаёте, что C# типизирован статически?
Здравствуйте, adontz, Вы писали:
A>Здравствуйте, Lloyd, Вы писали:
L>>В приведенном примере тип значения будет HttpWebRequest
A>Соответственно методы наследника HttpWebRequest не будут доступны, потому что это другой тип.
Я просто думал, что все методы определенные в базовом классе отобразятся в наследнике.
Здравствуйте, adontz, Вы писали:
A>Здравствуйте, TDLite, Вы писали:
TDL>>Я просто думал, что все методы определенные в базовом классе отобразятся в наследнике.
A>А разве HttpWebRequest наследуется от вашего класса?
Точно. Что-то прогнал. Думал при приведении, происходит наследование =)
А не подскажите, каким наилучшим образом реализовать отсылку multipart?
Стоит наследовать класс или лучше сделать отдельный класс (без наследования)?
Я так понимаю HttpWebRequest наследовать нет возможности.
Здравствуйте, adontz, Вы писали:
L>>В приведенном примере тип значения будет HttpWebRequest
A>Соответственно методы наследника HttpWebRequest не будут доступны, потому что это другой тип.
Не так. Правильно — соответственно всякое упоминание динамики — не к месту.
Здравствуйте, TDLite, Вы писали:
TDL>А не подскажите, каким наилучшим образом реализовать отсылку multipart? TDL>Стоит наследовать класс или лучше сделать отдельный класс (без наследования)?
А покажите, как будет выглядеть реализация этого функционала? Возможно, вам будет достаточно extension-методов.
Здравствуйте, TDLite, Вы писали:
TDL>Пытаюсь реализовать класс, который наследовал бы WebRequest. TDL>Как в данном случае правильно провести наследование?
WebRequest — хитрая штука.
Он создает конкретную реализацию запроса по префиксу, определяющему схему (http, ftp и т.д.), через фабричный метод Create. Для того, чтобы создавался правильный наследник WebRequest, префикс схемы должен быть зарегистрирован с помощью своей реализации интерфейса IWebRequestCreate и метода WebRequest.RegisterPrefix.
После чего такой код будет работать:
var request = (MyProtocolWebRequest)WebRequest.Create("myprotocol://server");
При этом зарегистрировать своего наследника WebRequest для HTTP — нельзя:
The HttpWebRequest class is registered to service requests for HTTP and HTTPS schemes by default. Attempts to register a different WebRequest descendant for these schemes will fail.
Наверное, можно придумать свою схему и отправлять через нее HTTP-запросы.
Но, судя по вот этому примеру, действительно, должно хватить extension-метода(-ов), как предположил
Здравствуйте, Lloyd, Вы писали:
L>Здравствуйте, TDLite, Вы писали:
TDL>>А не подскажите, каким наилучшим образом реализовать отсылку multipart? TDL>>Стоит наследовать класс или лучше сделать отдельный класс (без наследования)?
L>А покажите, как будет выглядеть реализация этого функционала? Возможно, вам будет достаточно extension-методов.
Вот написал класс для multipart данных http://pastebin.com/UpmrLDc9
Хотелось бы выслушать критику, скорей всего есть недочеты.
Здравствуйте, TDLite, Вы писали:
L>>А покажите, как будет выглядеть реализация этого функционала? Возможно, вам будет достаточно extension-методов.
TDL>Вот написал класс для multipart данных http://pastebin.com/UpmrLDc9 TDL>Хотелось бы выслушать критику, скорей всего есть недочеты.
Здравствуйте, Lloyd, Вы писали:
L>Здравствуйте, TDLite, Вы писали:
L>>>А покажите, как будет выглядеть реализация этого функционала? Возможно, вам будет достаточно extension-методов.
TDL>>Вот написал класс для multipart данных http://pastebin.com/UpmrLDc9 TDL>>Хотелось бы выслушать критику, скорей всего есть недочеты.
L>Как это связано с наследованием от WebRequest?
Хоть тема и называется наследование от WebRequest, сама цель была написать свой класс для удобного использования multipart.
Чтобы не создавать тему, решил здесь спросить.
Здравствуйте, HowardLovekraft, Вы писали:
HL>Здравствуйте, TDLite, Вы писали:
TDL>>Пытаюсь реализовать класс, который наследовал бы WebRequest. TDL>>Как в данном случае правильно провести наследование? HL>WebRequest — хитрая штука.
Что-то ответ не отобразился. Продублирую...
Вот написал класс для multipart данных http://pastebin.com/UpmrLDc9
Хотелось бы выслушать критику, скорей всего есть недочеты.