Я пытаюсь переопределить этот метод, но не понимаю, как
public virtual TUserData GetCurrentUser<TUserData>() where TUserData : UserData
{
LoadTokenCookie(String.Empty);
if (!IsCurrentUserAuthorized())
{
return null;
}
string responseText = (OAuthVersion == "1.0")
? ExecuteAuthorizedRequest(HttpMethod.GET, MeGraphEndpoint)
: string.IsNullOrEmpty(AccessToken)
? ExecuteWebRequest(HttpMethod.GET, new Uri(MeGraphEndpoint + "?" + "access_token=" + AuthToken), null, String.Empty)
: ExecuteWebRequest(HttpMethod.GET, new Uri(MeGraphEndpoint + "?" + AccessToken + "=" + AuthToken), null, String.Empty);
var user = Json.Deserialize<TUserData>(responseText);
return user;
}
Когда я делаю следующее,
public override TUserData GetCurrentUser<TUserData>() where TUserData : UserData{
return new UserData();
}
компилятор выдает "Ограничения для методов переопределения и явной реализации интерфейса наследуются от базового метода, поэтому их нельзя указать напрямую"
Поэтому я предположил, что тип возвращаемого значения по своей сути будет пониматься как UserDat, а не как TUserData, но следующее утверждает, что тип возвращаемого значения неверен.
public override TUserData GetCurrentUser<TUserData>(){
return new UserData();
}