2010-08-19 8 views
0

je jouais avec le cadre Microsoft Entité 4 et à un moment donné, je veux créer une instance fausse de ObjectStateEntry en utilisant un proxy ou FormatterServices et face aux questions qui suivent:Comment créer une instance d'une classe abstraite avec des membres internes en utilisant remoting/proxy?

  1. La classe a des membres abstraits internes donc la création d'un proxy se termine avec le type ayant des membres non implémentés. Par conséquent, déclenche une exception pendant CreateInstance.
  2. Impossible d'utiliser FormatterServices.GetUinitializedData car il s'agit d'une classe abstraite.

Aimerait savoir s'il existe une autre option?

Répondre

0

Ici j'ai écrit ma réponse dès que j'ai vu le titre de votre question How create an instance of an abstract class, la réponse est No, you can't create an instance of an abstract class.

+0

Vous pouvez créer l'instance de la classe abstraite par la création un proxy (comme n'importe quel outil proxy), mais si vous avez des membres internes dans cette classe abstraite alors vous ne pouvez pas si vous n'avez aucune option pour ajouter l'attribut InternalVisibleTo dans la bibliothèque cible (vous avez besoin d'un accès source pour le faire) . Je regardais, si vous pouvez créer l'instance de classe abstraite par tout autre moyen à cet égard. Aussi, Danny merci pour votre réponse. – Mehfuz

0

Avez-vous essayé de tout cadre moqueur tels que Rhino Mocks

+0

Merci, Vinay j'ai essayé Rhino Mocks, j'étais juste curieux de savoir et le cas ci-dessus est vrai pour tous les outils Moq, Rhino, JustMock. Je cherche s'il y a un moyen de sortir. – Mehfuz

+0

Juste googler autour de jeter ce lien - http://www.dimecasts.net/Casts/CastDetails/20. Vous devez voir si cela jette quelque chose d'utile. En règle générale, il est conseillé de tester contre l'interface plutôt que des classes, même si je peux le voir ne s'applique pas ici. – VinayC

+0

Oui, ce n'est pas ça. Je cherchais quelque chose avec le problème exact. – Mehfuz

Questions connexes