Ignore:
Timestamp:
Nov 3, 2010, 7:56:29 PM (11 years ago)
Author:
kopal
Message:

some optimizations -> the reflected methods of input/output connectors will be cached now to avoid too much reflection and to speed up the ExecutionEngine

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/WorkspaceManager/Execution/ExecutionEngine.cs

    r1977 r2059  
    433433                        if (connectorModel.IsDynamic)
    434434                        {
    435                             MethodInfo propertyInfo = PluginModel.Plugin.GetType().GetMethod(connectorModel.DynamicSetterName);
    436                             propertyInfo.Invoke(PluginModel.Plugin, new object[] { connectorModel.PropertyName, connectorModel.Data });
     435                       
     436                            if(connectorModel.method == null)
     437                            {
     438                                connectorModel.method = PluginModel.Plugin.GetType().GetMethod(connectorModel.DynamicSetterName);
     439                            }
     440                            connectorModel.method.Invoke(PluginModel.Plugin, new object[] { connectorModel.PropertyName, connectorModel.Data });
    437441                        }
    438442                        else
    439443                        {
    440                             PropertyInfo propertyInfo = PluginModel.Plugin.GetType().GetProperty(connectorModel.PropertyName);
    441                             propertyInfo.SetValue(PluginModel.Plugin, connectorModel.Data, null);
     444                            if (connectorModel.property == null)
     445                            {
     446                                connectorModel.property = PluginModel.Plugin.GetType().GetProperty(connectorModel.PropertyName);
     447                            }
     448                            connectorModel.property.SetValue(PluginModel.Plugin, connectorModel.Data, null);
    442449                        }
    443450                    }
Note: See TracChangeset for help on using the changeset viewer.