5 namespace SiliconStudio.Core
29 public abstract void Invalidate(
object propertyOwner,
PropertyKey propertyKey,
object propertyOldValue);
47 if (invalidationCallback == null)
throw new ArgumentNullException(
"invalidationCallback");
48 objectInvalidationCallback = invalidationCallback;
58 if (invalidationRefCallback == null)
throw new ArgumentNullException(
"invalidationRefCallback");
59 objectInvalidationRefCallback = invalidationRefCallback;
64 if (objectInvalidationCallback != null)
65 objectInvalidationCallback(propertyOwner, propertyKey, propertyOldValue);
67 objectInvalidationRefCallback(propertyOwner, propertyKey, ref propertyOldValue);
72 var propertyOldValueT = (T)propertyOldValue;
74 if (objectInvalidationCallback != null)
75 objectInvalidationCallback(propertyOwner, (
PropertyKey<T>)propertyKey, propertyOldValueT);
77 objectInvalidationRefCallback(propertyOwner, (
PropertyKey<T>)propertyKey, ref propertyOldValueT);
delegate void ObjectInvalidationRefCallback< T >(object propertyOwner, PropertyKey< T > propertyKey, ref T propertyOldValue)
delegate void ObjectInvalidationCallback< T >(object propertyOwner, PropertyKey< T > propertyKey, T propertyOldValue)
Delegate ObjectInvalidatorCallback used by ObjectInvalidationMetadata.
A class that represents a typed tag propety.
A class that represents a tag propety.