2010-04-12 11 views
2

Je me demandais comment je peux simuler la classe ClaimseReponse dans DotNetOpenAuth?DotNetOpenAuth: Mock ClaimsResponse

C'est la classe (enlever quelques propriétés):

[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(); 
} 

C'est ce que j'ai essayé:

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

Je reçois l'erreur suivante: '... ClaimsResponse (string)' est inaccessible en raison de son niveau de protection.

Cordialement,

pickels

Répondre

1

Mauvaise réponse - réponse dans les commentaires

Vous devez créer à travers un objet ClaimsRequest:

ClaimsRequest request = new ClaimsRequest(); 
ClaimsResponse response = request.CreateResponse(); 
+0

Merci pour la réponse et votre travail acharné sur DotNetOpenAuth. – Pickels

+0

Lorsque j'essaie que j'obtiens l'erreur suivante: échoué: System.InvalidOperationException: Une demande d'inscription simple peut uniquement générer une réponse à la réception. – Pickels

+1

Oh, oups. Pardon. Tu as raison. Je suppose qu'il n'y a aucun moyen public de créer un 'ClaimsResponse'. DotNetOpenAuth se réserve la capacité exclusive de le faire en interne. –