本文整理汇总了C#中System.CodeDom.CodeExpressionStatement类的典型用法代码示例。如果您正苦于以下问题:C# CodeExpressionStatement类的具体用法?C# CodeExpressionStatement怎么用?C# CodeExpressionStatement使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
CodeExpressionStatement类属于System.CodeDom命名空间,在下文中一共展示了CodeExpressionStatement类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: BuildAddContentPlaceHolderNames
private void BuildAddContentPlaceHolderNames(CodeMemberMethod method, string placeHolderID) {
CodePropertyReferenceExpression propertyExpr = new CodePropertyReferenceExpression(new CodeThisReferenceExpression(), "ContentPlaceHolders");
CodeExpressionStatement stmt = new CodeExpressionStatement();
stmt.Expression = new CodeMethodInvokeExpression(propertyExpr, "Add", new CodePrimitiveExpression(placeHolderID.ToLower(CultureInfo.InvariantCulture)));
method.Statements.Add(stmt);
}
开发者ID:iskiselev,项目名称:JSIL.NetFramework,代码行数:7,代码来源:MasterPageCodeDomTreeGenerator.cs
示例2: Process
/// <summary>
/// Generates code in the class area of the transformation class created by the T4 engine.
/// </summary>
/// <param name="arguments">The arguments for the directive.</param>
protected override void Process(IDictionary<string, string> arguments)
{
// Don't generate the same code more then once if T4Toolbox.tt happens to be included multiple times
if (this.directiveProcessed)
{
this.Warning("Multiple <#@ include file=\"T4Toolbox.tt\" #> directives were found in the template.");
return;
}
this.References.Add(typeof(TransformationContext).Assembly.Location);
// Add the following method call to the Initialize method of the generated text template.
// T4Toolbox.TransformationContext.Initialize(this, this.GenerationEnvironment);
var initialize = new CodeExpressionStatement(
new CodeMethodInvokeExpression(
new CodeTypeReferenceExpression(typeof(TransformationContext).FullName),
"Initialize",
new CodeThisReferenceExpression(),
new CodePropertyReferenceExpression(new CodeThisReferenceExpression(), "GenerationEnvironment")));
this.LanguageProvider.GenerateCodeFromStatement(initialize, this.PreInitializationCode, null);
// Add the following method call to the Dispose(bool) method of the generated text template.
// T4Toolbox.TransformationContext.Cleanup();
var cleanup = new CodeExpressionStatement(
new CodeMethodInvokeExpression(
new CodeTypeReferenceExpression(typeof(TransformationContext).FullName),
"Cleanup"));
this.LanguageProvider.GenerateCodeFromStatement(cleanup, this.DisposeCode, null);
this.directiveProcessed = true;
}
开发者ID:icool123,项目名称:T4Toolbox,代码行数:35,代码来源:TransformationContextProcessor.cs
示例3: GenerateCallStatementC2J
private CodeStatement GenerateCallStatementC2J(GMethod method, CodeExpression invokeExpression)
{
CodeStatement call;
if (method.IsConstructor || method.IsVoid)
{
call = new CodeExpressionStatement(invokeExpression);
}
else
{
if (method.ReturnType.IsPrimitive)
{
if (method.ReturnType.JVMSubst != null)
{
invokeExpression = new CodeCastExpression(method.ReturnType.CLRReference, invokeExpression);
}
call = new CodeMethodReturnStatement(invokeExpression);
}
else
{
CodeMethodInvokeExpression conversionExpression = CreateConversionExpressionJ2CParam(method.ReturnType,
invokeExpression);
call = new CodeMethodReturnStatement(conversionExpression);
}
}
return call;
}
开发者ID:Mazrick,项目名称:jni4net,代码行数:26,代码来源:CLRGenerator.C2J.cs
示例4: CreateMethod
CodeMemberMethod CreateMethod()
{
CodeMemberMethod method = new CodeMemberMethod();
// BeginInit method call.
CodeExpressionStatement statement = new CodeExpressionStatement();
CodeMethodInvokeExpression methodInvoke = new CodeMethodInvokeExpression();
statement.Expression = methodInvoke;
CodeMethodReferenceExpression methodRef = new CodeMethodReferenceExpression();
methodRef.MethodName = "BeginInit";
CodeCastExpression cast = new CodeCastExpression();
cast.TargetType = new CodeTypeReference();
cast.TargetType.BaseType = "System.ComponentModel.ISupportInitialize";
CodeFieldReferenceExpression fieldRef = new CodeFieldReferenceExpression();
fieldRef.FieldName = "pictureBox1";
fieldRef.TargetObject = new CodeThisReferenceExpression();
cast.Expression = fieldRef;
methodRef.TargetObject = cast;
methodInvoke.Method = methodRef;
method.Statements.Add(statement);
return method;
}
开发者ID:Rpinski,项目名称:SharpDevelop,代码行数:27,代码来源:GeneratePictureBoxBeginInitTestFixture.cs
示例5: Serialize
public override object Serialize (IDesignerSerializationManager manager, object value)
{
if (value == null)
throw new ArgumentNullException ("value");
if (manager == null)
throw new ArgumentNullException ("manager");
if (!(value is Control))
throw new InvalidOperationException ("value is not a Control");
object serialized = base.Serialize (manager, value);
CodeStatementCollection statements = serialized as CodeStatementCollection;
if (statements != null) { // the root control is serialized to CodeExpression
ICollection childControls = TypeDescriptor.GetProperties (value)["Controls"].GetValue (value) as ICollection;
if (childControls.Count > 0) {
CodeExpression componentRef = base.GetExpression (manager, value);
CodeStatement statement = new CodeExpressionStatement (
new CodeMethodInvokeExpression (componentRef, "SuspendLayout"));
statement.UserData["statement-order"] = "begin";
statements.Add (statement);
statement = new CodeExpressionStatement (
new CodeMethodInvokeExpression (componentRef, "ResumeLayout",
new CodeExpression[] {
new CodePrimitiveExpression (false) }));
statement.UserData["statement-order"] = "end";
statements.Add (statement);
serialized = statements;
}
}
return serialized;
}
开发者ID:Profit0004,项目名称:mono,代码行数:32,代码来源:ControlCodeDomSerializer.cs
示例6: AddCallbackImplementation
internal static void AddCallbackImplementation(CodeTypeDeclaration codeClass, string callbackName, string handlerName, string handlerArgs, bool methodHasOutParameters)
{
CodeFlags[] parameterFlags = new CodeFlags[1];
CodeMemberMethod method = AddMethod(codeClass, callbackName, parameterFlags, new string[] { typeof(object).FullName }, new string[] { "arg" }, typeof(void).FullName, null, (CodeFlags) 0);
CodeEventReferenceExpression left = new CodeEventReferenceExpression(new CodeThisReferenceExpression(), handlerName);
CodeBinaryOperatorExpression condition = new CodeBinaryOperatorExpression(left, CodeBinaryOperatorType.IdentityInequality, new CodePrimitiveExpression(null));
CodeStatement[] trueStatements = new CodeStatement[2];
trueStatements[0] = new CodeVariableDeclarationStatement(typeof(InvokeCompletedEventArgs), "invokeArgs", new CodeCastExpression(typeof(InvokeCompletedEventArgs), new CodeArgumentReferenceExpression("arg")));
CodeVariableReferenceExpression targetObject = new CodeVariableReferenceExpression("invokeArgs");
CodeObjectCreateExpression expression4 = new CodeObjectCreateExpression();
if (methodHasOutParameters)
{
expression4.CreateType = new CodeTypeReference(handlerArgs);
expression4.Parameters.Add(new CodePropertyReferenceExpression(targetObject, "Results"));
}
else
{
expression4.CreateType = new CodeTypeReference(typeof(AsyncCompletedEventArgs));
}
expression4.Parameters.Add(new CodePropertyReferenceExpression(targetObject, "Error"));
expression4.Parameters.Add(new CodePropertyReferenceExpression(targetObject, "Cancelled"));
expression4.Parameters.Add(new CodePropertyReferenceExpression(targetObject, "UserState"));
trueStatements[1] = new CodeExpressionStatement(new CodeDelegateInvokeExpression(new CodeEventReferenceExpression(new CodeThisReferenceExpression(), handlerName), new CodeExpression[] { new CodeThisReferenceExpression(), expression4 }));
method.Statements.Add(new CodeConditionStatement(condition, trueStatements, new CodeStatement[0]));
}
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:25,代码来源:WebCodeGenerator.cs
示例7: getInvokeDetailStatement
private static CodeExpressionStatement getInvokeDetailStatement(RecordStep step, string dataClass)
{
CodeExpressionStatement statement = new CodeExpressionStatement();
CodeExpression[] paras;
if (step.ActionParams != null)
{
paras = new CodeExpression[step.ActionParams.Count];
///判断是否参数化函数代码
if(dataClass == null)
{
for (int i = 0; i < step.ActionParams.Count; i++)
{
paras[i] = new CodePrimitiveExpression(step.ActionParams[i].Value);
}
}
else
{
for (int i = 0; i < step.ActionParams.Count; i++)
{
paras[i] = step.ActionParams[i].GetVariableReference(dataClass);
}
}
}
else
{
paras = new CodeExpression[0];
}
CodeMethodInvokeExpression method = new CodeMethodInvokeExpression(step.CompInfo.FindMethod, step.ActionName, paras);
statement.Expression = method;
return statement;
}
开发者ID:xneo123,项目名称:SAPGuiAutomationLib,代码行数:33,代码来源:RecordStepExtension.cs
示例8: GetCodeStatement
public static List<CodeStatement> GetCodeStatement(this RecordStep step,string dataClassParameter = null)
{
List<CodeStatement> codes = new List<CodeStatement>();
CodeStatement actionCode = null;
switch (step.Action)
{
case BindingFlags.SetProperty:
actionCode = getAssignDetailStatement(step, dataClassParameter);
break;
case BindingFlags.InvokeMethod:
actionCode = getInvokeDetailStatement(step, dataClassParameter);
break;
default:
break;
}
if (actionCode != null)
codes.Add(actionCode);
if(step.TakeScreenShot)
{
CodeExpressionStatement screenShotCode = new CodeExpressionStatement();
screenShotCode.Expression = new CodeMethodInvokeExpression(
new CodeVariableReferenceExpression("SAPTestHelper.Current"),
"TakeScreenShot",
new CodePrimitiveExpression(step.StepId.ToString() + ".jpg"));
codes.Add(screenShotCode);
}
return codes;
}
开发者ID:xneo123,项目名称:SAPGuiAutomationLib,代码行数:29,代码来源:RecordStepExtension.cs
示例9: BuildAddContentPlaceHolderNames
private void BuildAddContentPlaceHolderNames(CodeMemberMethod method, string placeHolderID)
{
CodePropertyReferenceExpression targetObject = new CodePropertyReferenceExpression(new CodeThisReferenceExpression(), "ContentPlaceHolders");
CodeExpressionStatement statement = new CodeExpressionStatement {
Expression = new CodeMethodInvokeExpression(targetObject, "Add", new CodeExpression[] { new CodePrimitiveExpression(placeHolderID.ToLower(CultureInfo.InvariantCulture)) })
};
method.Statements.Add(statement);
}
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:8,代码来源:MasterPageCodeDomTreeGenerator.cs
示例10: AddDisposalOfMember
public static void AddDisposalOfMember(CodeMemberMethod disposeMethod, string memberName)
{
CodeBinaryOperatorExpression isnull = new CodeBinaryOperatorExpression(new CodeVariableReferenceExpression(memberName), CodeBinaryOperatorType.IdentityInequality, new CodePrimitiveExpression(null));
CodeExpressionStatement callDispose = new CodeExpressionStatement(new CodeMethodInvokeExpression(new CodeVariableReferenceExpression(memberName), "Dispose"));
//add dispose code
disposeMethod.Statements.Add(new CodeConditionStatement(isnull, callDispose));
}
开发者ID:RadioSpace,项目名称:Tamarack,代码行数:8,代码来源:ClassHelper.cs
示例11: Clone
public static CodeExpressionStatement Clone(this CodeExpressionStatement statement)
{
if (statement == null) return null;
CodeExpressionStatement s = new CodeExpressionStatement();
s.EndDirectives.AddRange(statement.EndDirectives);
s.Expression = statement.Expression.Clone();
s.LinePragma = statement.LinePragma;
s.StartDirectives.AddRange(statement.StartDirectives);
s.UserData.AddRange(statement.UserData);
return s;
}
开发者ID:svejdo1,项目名称:CodeDomExtensions,代码行数:11,代码来源:CodeExpressionStatementExtensions.cs
示例12: TypescriptExpressionStatement
public TypescriptExpressionStatement(
IStatementFactory statementFactory,
IExpressionFactory expressionFactory,
CodeExpressionStatement statement,
CodeGeneratorOptions options)
{
_statementFactory = statementFactory;
_expressionFactory = expressionFactory;
_statement = statement;
_options = options;
}
开发者ID:s2quake,项目名称:TypescriptCodeDom,代码行数:11,代码来源:TypescriptExpressionStatement.cs
示例13: EmitExpressionStatement
Type EmitExpressionStatement(CodeExpressionStatement Expression, bool ForceTypes)
{
Depth++;
Debug("Emitting expression statement");
Type Generated = EmitExpression(Expression.Expression, ForceTypes);
if (Generated != typeof(void))
Generator.Emit(OpCodes.Pop);
Depth--;
return Generated;
}
开发者ID:lnsoso,项目名称:IronAHK,代码行数:13,代码来源:EmitExpr.cs
示例14: GetKeywordFromCodeDom
public void GetKeywordFromCodeDom()
{
CodeStatement st = new CodeExpressionStatement(new CodeArgumentReferenceExpression("foo"));
CodeExpression exp = new CodeArgumentReferenceExpression("foo");
CodeIterationStatement it = new CodeIterationStatement(st, exp, st);
CodeConditionStatement cond = new CodeConditionStatement(exp);
new Microsoft.CSharp.CSharpCodeProvider().GenerateCodeFromStatement(
it, Console.Out, new System.CodeDom.Compiler.CodeGeneratorOptions());
new Microsoft.CSharp.CSharpCodeProvider().GenerateCodeFromStatement(
cond, Console.Out, new System.CodeDom.Compiler.CodeGeneratorOptions());
new Microsoft.VisualBasic.VBCodeProvider().GenerateCodeFromStatement(
it, Console.Out, new System.CodeDom.Compiler.CodeGeneratorOptions());
new Microsoft.VisualBasic.VBCodeProvider().GenerateCodeFromStatement(
cond, Console.Out, new System.CodeDom.Compiler.CodeGeneratorOptions());
}
开发者ID:zanyants,项目名称:mvp.xml,代码行数:18,代码来源:RegexTests.cs
示例15: CreatePropertySetStatements
internal static void CreatePropertySetStatements(CodeStatementCollection methodStatements, CodeStatementCollection statements, CodeExpression target, string targetPropertyName, Type destinationType, CodeExpression value, CodeLinePragma linePragma)
{
bool flag = false;
if (destinationType == null)
{
flag = true;
}
if (flag)
{
CodeMethodInvokeExpression expression = new CodeMethodInvokeExpression();
CodeExpressionStatement statement = new CodeExpressionStatement(expression) {
LinePragma = linePragma
};
expression.Method.TargetObject = new CodeCastExpression(typeof(IAttributeAccessor), target);
expression.Method.MethodName = "SetAttribute";
expression.Parameters.Add(new CodePrimitiveExpression(targetPropertyName));
expression.Parameters.Add(GenerateConvertToString(value));
statements.Add(statement);
}
else if (destinationType.IsValueType)
{
CodeAssignStatement statement2 = new CodeAssignStatement(BuildPropertyReferenceExpression(target, targetPropertyName), new CodeCastExpression(destinationType, value)) {
LinePragma = linePragma
};
statements.Add(statement2);
}
else
{
CodeExpression expression2;
if (destinationType == typeof(string))
{
expression2 = GenerateConvertToString(value);
}
else
{
expression2 = new CodeCastExpression(destinationType, value);
}
CodeAssignStatement statement3 = new CodeAssignStatement(BuildPropertyReferenceExpression(target, targetPropertyName), expression2) {
LinePragma = linePragma
};
statements.Add(statement3);
}
}
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:43,代码来源:CodeDomUtility.cs
示例16: GetOutputWriteStatement
private CodeStatement GetOutputWriteStatement(CodeExpression expr, bool encode) {
// Call HttpUtility.HtmlEncode on the expression if needed
if (encode) {
expr = new CodeMethodInvokeExpression(
new CodeMethodReferenceExpression(
new CodeTypeReferenceExpression(typeof(HttpUtility)),
"HtmlEncode"),
expr);
}
CodeMethodInvokeExpression methodInvoke = new CodeMethodInvokeExpression();
CodeExpressionStatement call = new CodeExpressionStatement(methodInvoke);
methodInvoke.Method.TargetObject = new CodeArgumentReferenceExpression(renderMethodParameterName);
methodInvoke.Method.MethodName = "Write";
methodInvoke.Parameters.Add(expr);
return call;
}
开发者ID:krytht,项目名称:DotNetReferenceSource,代码行数:20,代码来源:BaseTemplateCodeDomTreeGenerator.cs
示例17: CreateEntryPoint
//Create main method
private void CreateEntryPoint(List<string> statements)
{
//Create an object and assign the name as "Main"
CodeEntryPointMethod mymain = new CodeEntryPointMethod();
mymain.Name = "Main";
//Mark the access modifier for the main method as Public and //static
mymain.Attributes = MemberAttributes.Public | MemberAttributes.Static;
//Change string to statements
if(statements != null){
foreach (string item in statements) {
if (item != null) {
CodeSnippetExpression exp1 = new CodeSnippetExpression(@item);
CodeExpressionStatement ces1 = new CodeExpressionStatement(exp1);
mymain.Statements.Add(ces1);
}
}
}
myclass.Members.Add(mymain);
}
开发者ID:Ngauet,项目名称:automatedframework,代码行数:21,代码来源:CCodeGenerator.cs
示例18: AddOutputWriteStringStatement
private void AddOutputWriteStringStatement(CodeStatementCollection methodStatements, string s)
{
if (!this.UseResourceLiteralString(s))
{
this.AddOutputWriteStatement(methodStatements, new CodePrimitiveExpression(s), null);
}
else
{
int num;
int num2;
bool flag;
base._stringResourceBuilder.AddString(s, out num, out num2, out flag);
CodeMethodInvokeExpression expression = new CodeMethodInvokeExpression();
CodeExpressionStatement statement = new CodeExpressionStatement(expression);
expression.Method.TargetObject = new CodeThisReferenceExpression();
expression.Method.MethodName = "WriteUTF8ResourceString";
expression.Parameters.Add(new CodeArgumentReferenceExpression("__w"));
expression.Parameters.Add(new CodePrimitiveExpression(num));
expression.Parameters.Add(new CodePrimitiveExpression(num2));
expression.Parameters.Add(new CodePrimitiveExpression(flag));
methodStatements.Add(statement);
}
}
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:23,代码来源:BaseTemplateCodeDomTreeGenerator.cs
示例19: CreateEntryPoint
public void CreateEntryPoint(ref CodeTypeDeclaration customClass)
{
//Create an object and assign the name as “Main”
CodeEntryPointMethod main = new CodeEntryPointMethod();
main.Name = "Main";
//Mark the access modifier for the main method as Public and //static
main.Attributes = MemberAttributes.Public | MemberAttributes.Static;
//Provide defenition to the main method.
//Create an object of the “Cmyclass” and invoke the method
//by passing the required parameters.
CodeSnippetExpression exp = new CodeSnippetExpression(CallingMethod(customClass));
//Create expression statements for the snippets
CodeExpressionStatement ces = new CodeExpressionStatement(exp);
//Add the expression statements to the main method.
main.Statements.Add(ces);
//Add the main method to the class
customClass.Members.Add(main);
}
开发者ID:govinda777,项目名称:WorkflowPoc,代码行数:23,代码来源:FactoryCode.cs
示例20: ParseMultiExpression
CodeExpressionStatement[] ParseMultiExpression(string code)
{
var tokens = SplitTokens(code);
#region Date/time
int n = tokens.Count - 2;
if (tokens.Count > 1 && ((string)tokens[n]).Length > 0 && ((string)tokens[n])[0] == Multicast)
{
string arg = ((string)tokens[n + 1]).ToUpperInvariant().Trim();
arg = arg.Length == 1 ? arg : arg.TrimEnd('S');
switch (arg)
{
case "S":
case "SECOND":
case "M":
case "MINUTE":
case "H":
case "HOUR":
case "D":
case "DAY":
return new[] { new CodeExpressionStatement(ParseDateExpression(code)) };
}
}
#endregion
var result = ParseMultiExpression(tokens.ToArray());
var statements = new CodeExpressionStatement[result.Length];
for (int i = 0; i < result.Length; i++)
statements[i] = new CodeExpressionStatement(result[i]);
return statements;
}
开发者ID:lnsoso,项目名称:IronAHK,代码行数:36,代码来源:Expression.cs
注:本文中的System.CodeDom.CodeExpressionStatement类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论