2010-11-29 1 views
0

У меня есть много классов сущностей, и теперь во всех свойствах классов сущностей необходимо добавить новую функциональность (вызвать некоторый метод) в геттерах и сеттерах. Что я хочу сказать, выглядит следующим образом:Динамический вызов метода в C#

public class PersistentClass : BaseClass { 
private string attr1; 
[Persistent] 
public string Attr1 
{ 
    get 
    { 
     //need to call here base class method 
     //refreshContents(); 
     return attr1; 
    } 
    set 
    { 
     //need to call here base class method 
     //refreshContents(); 
     attr1 = value; 
    } 
} 

private SomeObject attr2; 
[Persistent] 
public SomeObject Attr2 
{ 
    get 
    { 
     //need to call here base class method 
     //refreshContents(); 
     return attr2; 
    } 
    set 
    { 
     //need to call here base class method 
     //refreshContents(); 
     attr2 = value; 
    } 
} 

private List<SomeOtherObhect> details; 
[Persistent] 
pubic List<SomeOtherObject> Details 
{ 
    get 
    { 
     //need to call here base class method 
     //refreshContents("details"); 
     return details; 
    } 
    set 
    { 
     //need to call here base class method 
     //refreshContents("details"); 
     details = value; 
    } 
} 

}

Для различных типов полей нужно вызвать различные методы, например, refreshContents() и refreshContetns("fieldName"). Я ищу решение проблемы с IoC и Injection Dependency Injection. Не могли бы вы мне помочь?

+0

Вы уже делаете то, что хотите достичь. Пока у вас есть метод refreshContetns в базовый класс, он работает :-) – 2010-11-29 10:09:48

ответ

0

Что IoC или DI делать в вашем случае?

я думаю, что вы просто хотите универсальный метод в базовом классе и вызвать thios метод из добытчиков или сеттеров

0

Если вы хотите сохранить свою логику обновления в одном месте, и называют его по-разному от своих свойств, рассмотреть вопрос об осуществлении INotifyPropertyChanged и обрабатывать событие PropertyChanged в вашем классе сущности и реализовывать там логику обновления.

Однако, более важный вопрос - почему вы хотите обновить содержимое, когда свойство установлено или получило? Это может помочь понять, если вы предоставляете имена реальных объектов.