internal MetadataUpdateStateData(IXApplication app, IControl ctrl, IMetadata[] deps, IMetadataDependencyHandler handler) { m_App = app; m_Ctrl = ctrl; m_Dependencies = deps; m_Handler = handler; }
public DependentOnMetadataAttribute(Type dependencyHandler, params object[] dependencies) { if (!typeof(IMetadataDependencyHandler).IsAssignableFrom(dependencyHandler)) { throw new InvalidCastException($"{dependencyHandler.FullName} must be assignable from {typeof(IMetadataDependencyHandler).FullName}"); } DependencyHandler = (IMetadataDependencyHandler)Activator.CreateInstance(dependencyHandler); Dependencies = dependencies; }
public void RegisterMetadataDependency(IControl ctrl, IMetadata[] metadata, IMetadataDependencyHandler dependencyHandler) { m_MetadataDependencies.Add(ctrl, new Tuple <IMetadata[], IMetadataDependencyHandler>(metadata, dependencyHandler)); }