internal static void GenerateEventRaisingCode(ICodeBlock codeBlock, BeforeOrAfter beforeOrAfter, string variableName, IElement saveObject) { PerformancePluginCodeGenerator.CodeBlock = codeBlock; PerformancePluginCodeGenerator.SaveObject = saveObject; string beforeOrAfterAsString = "Before"; if (beforeOrAfter == BeforeOrAfter.After) { beforeOrAfterAsString = "After"; } PerformancePluginCodeGenerator.GenerateStart(beforeOrAfterAsString + " set " + variableName); codeBlock.If(beforeOrAfterAsString + variableName + "Set != null") .Line(beforeOrAfterAsString + variableName + "Set(this, null);"); PerformancePluginCodeGenerator.GenerateEnd(); }
public ExposableEvent(string name, string variable, BeforeOrAfter beforeOrAfter) { Name = name; Variable = variable; BeforeOrAfter = beforeOrAfter; }