/// <summary> /// Creates a statement for raising an event. /// </summary> /// <param name="isCSharp">If this is C#.</param> /// <param name="ev">The event to raise.</param> /// <param name="parameters">The parameters to pass when raising the event.</param> /// <returns>The statement that raises the event.</returns> internal static CodeStatement MakeEventRaiseStatement(bool isCSharp, CodeEventReferenceExpression ev, params CodeExpression[] parameters) { CodeDelegateInvokeExpression eventInvocation = new CodeDelegateInvokeExpression(ev, parameters); if (isCSharp) { CodeConditionStatement eventNotNullStatement = new CodeConditionStatement(); eventNotNullStatement.Condition = CodeGenUtilities.MakeNotEqualToNull(new CodeVariableReferenceExpression(ev.EventName)); eventNotNullStatement.TrueStatements.Add(eventInvocation); return(eventNotNullStatement); } else { return(new CodeExpressionStatement(eventInvocation)); } }