2010-10-19 5 views
1

J'ai vu un comportement étrange quand j'ai marqué un objet comme abstract = "true". comment l'objet va se comporter quand je marque un objet comme abstrait = "vrai"? ce qui est abstrait = "vrai".Qu'est-ce que abstract = "true" dans spring.net?

quand utiliser abstract = "true"? parce que je peux hériter de la propriété en utilisant parent = "object id" sans objet parent marqué comme abstract = "true".

le comportement étrange:

Quand je me réfère l'objet abstrait marqué, le printemps est de lancer une erreur (Exception interne: Spring.Core.TypeMismatchException: Impossible de convertir la valeur de propriété de type [Spring.Objects.Factory.Support Mais lorsque j'exécute mon test unitaire et que j'injecte la dépendance via autowire par type en utilisant "Spring.Testing.NUnit.AbstractDependencyInjectionSp ringContextTests", le ressort injecte correctement l'objet marqué abstrait qui est étrange.

Je n'ai aucune idée de ce qui se passe?

par exemple.

public class Véhicule
{
public int NoOfTyre {get; ensemble; }
public string Couleur {get; ensemble; }
chaîne publique EngineType {get; ensemble; }
chaîne publique GearType {get; ensemble; }
chaîne publique DrivingStyle {get; ensemble; }
public string Fabrication {get; ensemble; }}


public class Voiture: Véhicule
{
public string {get type de porte; ensemble; }}


public class Scooter: Véhicule
{
public string ScooterType {get; ensemble; }}

Aidez-nous!

Cheers, Milind

+0

Veuillez formater votre code en l'indentant avec quatre espaces. – SLaks

Répondre

6

quand utiliser abstract = "true"?Je peux becuase hériter des biens en utilisant parent = "id objet" sans objet parent marqué comme abstract = "true"

La section sur object definition inheritance dans la documentation Sprint.Net explique assez bien.

Vous utilisez abstract="true" lorsque vous utiliserez la définition d'objet uniquement pour créer des définitions enfants. Cela peut être le cas parce que vous savez que la définition est incomplète, parce qu'il n'y a pas de classe .NET correspondante, ou simplement pour exprimer votre intention que la définition est simplement un modèle réutilisable.

+0

Merci. Je l'ai. – Milind