0
如果我要创建一个界面System.net.WebRequest
,那么最好的方法是什么?最佳实践,创建WebRequest界面
如果我要创建一个界面System.net.WebRequest
,那么最好的方法是什么?最佳实践,创建WebRequest界面
对于David的观点,您首先需要确定您想要在界面上做什么,然后才能决定需要哪些成员。如果你想要一个单元测试的接口,我会推荐一个单独的方法。看看this question的票数最多的答案。
然而,要严格回答你的问题是问,因为你不能修改WebRequest类,你首先要继承它像这样:
public class MyWebRequest : WebRequest, IMyWebRequest
{
}
然后,您可以添加所有的公众通过暴露的WebRequest成员IMyWebRequest为使(删除你不想暴露成员):
public interface IMyWebRequest
{
Stream GetRequestStream();
WebResponse GetResponse();
IAsyncResult BeginGetResponse(AsyncCallback callback, object state);
WebResponse EndGetResponse(IAsyncResult asyncResult);
IAsyncResult BeginGetRequestStream(AsyncCallback callback, object state);
Stream EndGetRequestStream(IAsyncResult asyncResult);
void Abort();
RequestCachePolicy CachePolicy { get; set; }
string Method { get; set; }
Uri RequestUri { get; }
string ConnectionGroupName { get; set; }
WebHeaderCollection Headers { get; set; }
long ContentLength { get; set; }
string ContentType { get; set; }
ICredentials Credentials { get; set; }
bool UseDefaultCredentials { get; set; }
IWebProxy Proxy { get; set; }
bool PreAuthenticate { get; set; }
int Timeout { get; set; }
AuthenticationLevel AuthenticationLevel { get; set; }
TokenImpersonationLevel ImpersonationLevel { get; set; }
object GetLifetimeService();
object InitializeLifetimeService();
ObjRef CreateObjRef(Type requestedType);
}
我想第一个也是最重要的问题是,为什么?你想做什么? – David 2011-02-17 20:23:39