File: Microsoft\Build\Tasks\Xaml\CodeDomExtensionMethods.cs
Project: ndp\cdf\src\NetFx40\XamlBuildTask\XamlBuildTask.csproj (XamlBuildTask)
//------------------------------------------------------------
// 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);
        }
    }
}