Здравствуйте, Sorantis, Вы писали:
S>У меня вопрос,есть ли аналогия джававского интерфейса PropertyChangeListener в С#? S>если нет,то как можно заменить?
К каждому свойству добавить событие с именем ИмяСвойстваChanged
Здравствуйте, AndrewVK, Вы писали: AVK>К каждому свойству добавить событие с именем ИмяСвойстваChanged
если можно по-конкретнне.Я впервые сталкиваюсь с такой вещью.
И еще вопрос.Этот интерфейс разьве не ловит именения в например выборе каких то свойств?
Тогда по идее я вообще могу опустить его в моем коде.
Если не так ,то пожалуйста обьясните.
Здравствуйте, Sorantis, Вы писали:
S>если можно по-конкретнне.Я впервые сталкиваюсь с такой вещью.
Нельзя, поскольку сам по себе этот интерфейс или событие не особенно осмысленны. Смысл они приобретают применительно к конкретной задаче. Вот от этой самой задачи и зависит конкретика.
S>И еще вопрос.Этот интерфейс разьве не ловит именения в например выборе каких то свойств?
В Java? Нет, не ловит. Нотификацию об изменении свойст нужно писать самостоятельно.
S>Тогда по идее я вообще могу опустить его в моем коде.
Если на него не подвязана какая то логика можешь. Если подвязана — не можешь.
Hello, "Sorantis" > У меня вопрос,есть ли аналогия джававского интерфейса PropertyChangeListener в С#? > если нет,то как можно заменить?
Замени использованием PropertyChangedEventHandler
Posted via RSDN NNTP Server 2.0 alpha
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Аналогии Java-вских классов в C#
От:
Аноним
Дата:
07.03.05 14:49
Оценка:
> У меня вопрос,есть ли аналогия джававского интерфейса PropertyChangeListener в С#? если нет,то как можно заменить?
Судя по названию "PropertyChangeListener" вам надо перехватывать момент изменения значения свойства.
Пример позволяет перехватывать изменения свойства, но при условии, что значение свойства изменяется с помощью PropertyDescriptor.SetValue
public class MyClass
{
public string Text
{
get { return _Text; }
set
{
_Text = value;
}
}
private string _Text = null;
}
public static void Test()
{
MyClass mc = new MyClass();
PropertyDescriptor pd = TypeDescriptor.GetProperties(mc)["Text"];
pd.AddValueChanged(mc, new EventHandler(MyClassPropertyChanged));