Динамически вызывать метод в c # - PullRequest
0 голосов
/ 29 ноября 2010

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

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 и Dependency Injection.Не могли бы вы помочь мне, пожалуйста?

Ответы [ 3 ]

0 голосов
/ 29 ноября 2010

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

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

0 голосов
/ 29 ноября 2010

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

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

0 голосов
/ 29 ноября 2010

Это похоже на вариант использования для Аспектно-ориентированного программирования (AOP) .

Вот несколько ссылок для начала:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...