//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //------------------------------------------------------------ namespace Microsoft.Build.Tasks.Xaml { using System; using System.CodeDom; static class CodeDomExtensionMethods { internal static CodeVariableReferenceExpression DeclareVar(this CodeStatementCollection block, Type type, string name, CodeExpression initExpression) { block.Add(new CodeVariableDeclarationStatement() { Name = name, Type = new CodeTypeReference(type), InitExpression = initExpression }); return new CodeVariableReferenceExpression(name); } internal static CodeFieldReferenceExpression Field(this CodeExpression targetObject, string fieldName) { return new CodeFieldReferenceExpression(targetObject, fieldName); } internal static CodeMethodInvokeExpression Invoke(this CodeExpression targetObject, string methodName, params CodeExpression[] parameters) { return new CodeMethodInvokeExpression(targetObject, methodName, parameters); } internal static CodeObjectCreateExpression New(this Type type, params CodeExpression[] parameters) { return new CodeObjectCreateExpression(type, parameters); } internal static CodePropertyReferenceExpression Property(this CodeExpression targetObject, string propertyName) { return new CodePropertyReferenceExpression(targetObject, propertyName); } } }