c# - Best practice, create interface of WebRequest -
if create interface of system.net.webrequest, what's best way that?
to david's point, first need determine want interface before can decide members needs. if want interface unit testing, recommend separate approach. take @ answer votes this question.
however, answer question strictly asked, since can't modify webrequest class, you'd first want subclass so:
public class mywebrequest : webrequest, imywebrequest { } you add of public members exposed webrequest imywebrequest (remove members don't want exposed):
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); }
Comments
Post a Comment