Castle.Components.DictionaryAdapter.DictionaryAdapterBase
public abstract class DictionaryAdapterBase : IDictionaryCreate, IDictionaryAdapter, IDictionaryEdit, IEditableObject, IRevertibleChangeTracking, IChangeTracking, IDictionaryNotify, INotifyPropertyChanging, INotifyPropertyChanged, IDictionaryValidate, IDataErrorInfo
namespace Castle.Components.DictionaryAdapter
{
public abstract class DictionaryAdapterBase : IDictionaryCreate, IDictionaryAdapter, IDictionaryEdit, IEditableObject, IRevertibleChangeTracking, IChangeTracking, IDictionaryNotify, INotifyPropertyChanging, INotifyPropertyChanged, IDictionaryValidate, IDataErrorInfo
{
public class TrackPropertyChangeScope : IDisposable
{
public TrackPropertyChangeScope(DictionaryAdapterBase adapter);
public TrackPropertyChangeScope(DictionaryAdapterBase adapter, PropertyDescriptor property, object existingValue);
public void Dispose();
public bool Notify();
}
public abstract DictionaryAdapterMeta Meta { get; }
public DictionaryAdapterInstance This { get; }
public bool CanEdit { get; set; }
public bool IsEditing { get; }
public bool SupportsMultiLevelEdit { get; set; }
public bool IsChanged { get; }
public bool CanNotify { get; set; }
public bool ShouldNotify { get; }
public bool CanValidate { get; set; }
public bool IsValid { get; }
public string Error { get; }
public string this[string columnName] { get; }
public IEnumerable<IDictionaryValidator> Validators { get; }
public event PropertyChangingEventHandler PropertyChanging;
public event PropertyChangedEventHandler PropertyChanged;
public T Coerce<T>() where T : class;
public object Coerce(Type type);
public void CopyTo(IDictionaryAdapter other);
public void CopyTo(IDictionaryAdapter other, Func<PropertyDescriptor, bool> selector);
public T Create<T>();
public object Create(Type type);
public T Create<T>(IDictionary dictionary);
public object Create(Type type, IDictionary dictionary);
public T Create<T>(Action<T> init);
public T Create<T>(IDictionary dictionary, Action<T> init);
public DictionaryAdapterBase(DictionaryAdapterInstance instance);
public string GetKey(string propertyName);
public virtual object GetProperty(string propertyName, bool ifExists);
public T GetPropertyOfType<T>(string propertyName);
public object ReadProperty(string key);
public virtual bool SetProperty(string propertyName, ref object value);
public void StoreProperty(PropertyDescriptor property, string key, object value);
public void ClearProperty(PropertyDescriptor property, string key);
public bool ShouldClearProperty(PropertyDescriptor property, object value);
protected void Initialize();
public void BeginEdit();
public void CancelEdit();
public void EndEdit();
public void RejectChanges();
public void AcceptChanges();
public IDisposable SuppressEditingBlock();
public void SuppressEditing();
public void ResumeEditing();
protected bool GetEditedProperty(string propertyName, out object propertyValue);
protected bool EditProperty(PropertyDescriptor property, string key, object propertyValue);
protected bool ClearEditProperty(PropertyDescriptor property, string key);
protected void AddEditDependency(IEditableObject editDependency);
public IDisposable SuppressNotificationsBlock();
public void SuppressNotifications();
public void ResumeNotifications();
protected bool NotifyPropertyChanging(PropertyDescriptor property, object oldValue, object newValue);
protected void NotifyPropertyChanged(PropertyDescriptor property, object oldValue, object newValue);
protected void NotifyPropertyChanged(string propertyName);
protected TrackPropertyChangeScope TrackPropertyChange(PropertyDescriptor property, object oldValue, object newValue);
protected TrackPropertyChangeScope TrackReadonlyPropertyChanges();
public DictionaryValidateGroup ValidateGroups(params object[] groups);
public void AddValidator(IDictionaryValidator validator);
}
}