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