I want this method to be implemented however the implementer wishes in his/her subclass. This method resides in an Interface:
object GetResponseData(object response);
I put in object, because I figured if I do this, then they can specify whatever they want as the incoming response type and decide what they want this method to return. I know I should be doing this I think with Generics though.
The problem I wind up with is some implementations of this interface may not be using an HttpRequest or HttpResponse so it may be passing in an HttpResponse or something totally different to that GetResponseData method such as a WebClient object somehow...so since I don't know how it's going to be implemented, I want this to be generic somehow.
The GetResponseData is the logic to extract out the data from the response stream, deserialize it and then return the data however we want (object) to the caller.
UPDATED:
Here is my Interface as it is currently (Before your suggestions):
public interface IAPIResponse
{
bool HasResponseErrors { get; }
IAPIError[] APIErrors { get; }
string ResponseStatusCode { get; }
object GetResponseData(HttpWebResponse response);
}