2010-10-19 2 views
1

Я заметил странное поведение, когда я обозначил объект как abstract = "true". как объект будет вести себя, когда я обозначил объект как abstract = "true"? что абстрактно = «истина».Что такое abstract = "true" в spring.net?

когда использовать abstract = "true"? потому что я могу наследовать свойство, используя parent = "object id" без помеченного родительского объекта как abstract = "true".

странное поведение:

Когда я ссылаюсь абстрактный отмеченный объект, весна бросает ошибку (Inner Исключение: Spring.Core.TypeMismatchException: Невозможно преобразовать значение свойства типа [Spring.Objects.Factory.Support .RootObjectDefinitio n] до требуемого типа)

, но когда я запускаю свой модульный тест и вводя зависимость через autowire по типу, используя «Spring.Testing.NUnit.AbstractDependencyInjectionSp ringContextTests», тогда весна вводит правильно абстрактный абстрактный объект, который является странный.

Я понятия не имею, что происходит?

например.

общественный класс Транспортное средство
{
public int NoOfTyre {get; задавать; }
public string Цвет {get; задавать; }
public string EngineType {get; задавать; }
public string GearType {get; задавать; }
public string DrivingStyle {get; задавать; }
public string Производство {get; задавать; }
}

общественный класс автомобиля: Автомобиль
{
общественная строка DoorType {получить; задавать; }
}

класс Скутер общественности: Автомобиль
{
общественная строка ScooterType {получить; задавать; }}

Помогите!

Приветствия, Milind

+0

Пожалуйста, отформатируйте свой код, отложив его четырьмя пробелами. – SLaks

ответ

6

когда использовать абстрактные = "истинный"?потому что я могу наследовать имущество, используя родительский = «идентификатор объекта» без отмеченных родительского объекта как абстрактный = «истинный»

В разделе object definition inheritance в документации Sprint.Net объясняет это довольно хорошо.

Вы используете abstract="true", когда будете использовать определение объекта только для создания определений потомков. Это может быть так, потому что вы знаете, что определение неполное, потому что нет соответствующего класса .NET или просто выразить свое намерение, что определение является просто шаблоном многократного использования.

+0

Спасибо. Я понял. – Milind

Смежные вопросы