NotifyDataErrorInfoInjector.Execute C# (CSharp) Method

Execute() public method

public Execute ( ) : void
return void
    public void Execute()
    {
        if (TypeDefinition.Interfaces.Any(x => x.Name == NotifyDataErrorInfoFinder.InterfaceRef.Name))
        {
            ModuleWeaver.LogInfo($"Skipped '{TypeDefinition.Name}' because it already implements '{NotifyDataErrorInfoFinder.InterfaceRef.Name}'.");
            return;
        }
        AddInterface();
        AddErrorsChanged();
        AddHasErrors();
        AddGetErrors();
    }

Usage Example

示例#1
0
    public void ProcessType(TypeDefinition typeDefinition)
    {
        if (!typeDefinition.CustomAttributes.ContainsValidationAttribute())
        {
            //TODO:log
            return;
        }

        if (dataErrorInfoFinder.Found)
        {
            var injector = new DataErrorInfoInjector
            {
                TypeDefinition           = typeDefinition,
                TypeSystem               = ModuleDefinition.TypeSystem,
                ValidationTemplateFinder = templateFinder,
                DataErrorInfoFinder      = dataErrorInfoFinder,
                ModuleWeaver             = this,
            };
            injector.Execute();
        }

        if (notifyDataErrorInfoFinder.Found)
        {
            var injector = new NotifyDataErrorInfoInjector
            {
                TypeDefinition            = typeDefinition,
                NotifyDataErrorInfoFinder = notifyDataErrorInfoFinder,
                ValidationTemplateFinder  = templateFinder,
                TypeSystem   = ModuleDefinition.TypeSystem,
                ModuleWeaver = this,
            };
            injector.Execute();
        }
    }
All Usage Examples Of NotifyDataErrorInfoInjector::Execute