DotNetOpenAuth: фиктивный ответ на претензию

Мне было интересно, как я могу издеваться над классом ClaimseReponse в DotNetOpenAuth?

Это класс (удалите несколько свойств):

[Serializable]
public sealed class ClaimsResponse : ExtensionBase, 
                                     IClientScriptExtensionResponse,
                                     IExtensionMessage, 
                                     IMessageWithEvents, 
                                     IMessage
{
    public static bool operator !=(ClaimsResponse one, ClaimsResponse other);
    public static bool operator ==(ClaimsResponse one, ClaimsResponse other);

    [MessagePart("email")]
    public string Email { get; set; }
    [MessagePart("fullname")]
    public string FullName { get; set; }

    public override bool Equals(object obj);
    public override int GetHashCode();
}

Вот что я пробовал:

ClaimsResponse MockCR = new ClaimsResponse();
MockCR.Email = "[email protected]";
MockCR.FullName = "Mister T";

Я получаю следующую ошибку: '...ClaimsResponse(string)' недоступен из-за его уровня защиты.

С уважением,

Пикелс


person Pickels    schedule 12.04.2010    source источник


Ответы (1)


Неправильный ответ - правильный ответ в комментариях

Вы должны создать его через объект ClaimsRequest:

ClaimsRequest request = new ClaimsRequest();
ClaimsResponse response = request.CreateResponse();
person Andrew Arnott    schedule 13.04.2010
comment
Когда я пытаюсь это сделать, я получаю следующую ошибку: failed: System.InvalidOperationException : Простой запрос на регистрацию может генерировать ответ только на принимающей стороне. - person Pickels; 14.04.2010
comment
О, упс. Прости. Ты прав. Я думаю, нет общедоступного способа создать файл ClaimsResponse. DotNetOpenAuth оставляет за собой исключительную возможность делать это внутри компании. - person Andrew Arnott; 15.04.2010