Xamarin Public Jenkins (auto-signing) e79aa3c0ed Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
2016-08-03 10:59:49 +00:00

46 lines
1.7 KiB
C#

//------------------------------------------------------------
// 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);
}
}
}