Exemplo n.º 1
0
 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));
 }