- PR -

HttpWebRequest クラスをフィールドメンバとして保持させるには?

1
投稿者投稿内容
platini
大ベテラン
会議室デビュー日: 2002/12/03
投稿数: 193
投稿日時: 2003-11-11 13:28
HttpWebRequestクラスを、自作クラスのフィールドメンバとして
持たせることに四苦八苦しています。
下記ソースにおいて、private WebRequest HttpWReqならばOKなのですが、
本当は private HttpWebRequest HttpWReqとしたいところです。
ヘルプを見ると WebRequestは抽象クラスなので、確かにこうなるのも
やむないかな?とは思うのですが、コード中にキャストが一杯出てしまいます。

コード中にキャストが発生しないようなコーディング手法があったらご教示ください。
---- 下記はキャストばっかりの実装の例(今のところこれしか思いつかない)-----
private WebRequest HttpWReq; // クラス内の内部保持用
public WebDAVControl( Uri uri , NetworkCredential myCred)
{
try
{
HttpWReq = (HttpWebRequest)WebRequest.Create( uri.ToString());
(HttpWebRequest)HttpWReq).ReadWriteTimeout = STANDARD_TIMEOUT;
((HttpWebRequest)HttpWReq).AllowAutoRedirect = true;
((HttpWebRequest)HttpWReq).Proxy = System.Net.WebProxy.GetDefaultProxy();
((HttpWebRequest)HttpWReq).ProtocolVersion = HttpVersion.Version11;
((HttpWebRequest)HttpWReq).Credentials = myCred;
}
toppo
ベテラン
会議室デビュー日: 2003/10/28
投稿数: 89
お住まい・勤務地: 東京・池袋
投稿日時: 2003-11-11 14:47
toppoです。
詳しく見ていないですが、

private HttpWebRequest HttpWReq; // クラス内の内部保持用

public void WebDAVControl( Uri uri , NetworkCredential myCred)
{
try
{
HttpWReq = (HttpWebRequest)WebRequest.Create( uri.ToString());
HttpWReq.ReadWriteTimeout = STANDARD_TIMEOUT;
HttpWReq.AllowAutoRedirect = true;
HttpWReq.Proxy = System.Net.WebProxy.GetDefaultProxy();
HttpWReq.ProtocolVersion = HttpVersion.Version11;
HttpWReq.Credentials = myCred;
}
catch{}

ではどうでしょう。


[ メッセージ編集済み 編集者: toppo 編集日時 2003-11-11 14:46 ]
1

スキルアップ/キャリアアップ(JOB@IT)