한 줄 요약
CallBack : 함수를 인자로 전달하고, 특정 시점이 되었을 때 전달받은 함수를 호출하는 것.
사용 예시 요약 :List에 대한 값의 변화가 있을 때 UI 요소를 초기화해주는 함수가 호출되어야 함. 이를 위해List클래스에 델리게이트를 추가해 UI를 담당하는 클래스에서 UI 초기화를 위한 함수를 전달. 이후List값에 대한 변동이 발생할 때 전달받은 함수를 호출
public class EffectDictionary : ObservableDictionary<int, BaseEffect>, IObservable<EffectDictionary>
{
public event Action<EffectDictionary> AnyValueChanged = delegate { };
public override void Invoke() => AnyValueChanged(this);
}
public new void Add(TKey key, TValue value)
{
base.Add(key, value);
Invoke();
}
public new virtual void Clear()
{
base.Clear();
Invoke();
}
public new void Remove(TKey key)
{
base.Remove(key);
Invoke();
}
Inoke();를 호출해 AnyValueChanged 델리게이트에 등록된 함수를 실행하도록 하고 있다.