本文整理汇总了C#中Engine.GetContext方法的典型用法代码示例。如果您正苦于以下问题:C# Engine.GetContext方法的具体用法?C# Engine.GetContext怎么用?C# Engine.GetContext使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Engine
的用法示例。
在下文中一共展示了Engine.GetContext方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AccessItem
private object AccessItem(bool isSet, Engine engine, object value)
{
var op = isSet ? Op.SetItem : Op.GetItem;
var context = engine.GetContext(Path, CodeTree);
if (Arguments.Count != 0)
{
var combinedArgs = new object[] { context }.Concat(Arguments.Get(engine));
if (isSet) combinedArgs.Concat(new object[] { value });
return engine.Operator(op, combinedArgs.ToArray());
}
var type = engine.GetType(TypeProperty, TypePath, TypeCodeTree);
var index = engine.Get(IndexProperty, IndexPath, IndexCodeTree, type);
if (!isSet) return engine.Operator(op, context, index);
return engine.Operator(op, context, index, value);
}
示例2: OnGet
protected override object OnGet(Engine engine)
{
if (Var != null) return engine.GetVariable(engine.GetVariable(Var, VarCodeTree));
var context = engine.GetContext(Path, CodeTree);
var type = engine.GetType(TypeProperty, TypePath, TypeCodeTree);
if (PropertyName != null)
return PathHelper.GetProperty(engine, context, PropertyName);
if (FieldName != null)
return PathHelper.GetField(engine, context, FieldName);
if (DependencyProperty != null)
return PathHelper.GetDependencyProperty(engine, context as DependencyObject, DependencyProperty);
if (StaticPropertyName != null)
return PathHelper.GetStaticProperty(engine, type, StaticPropertyName);
if (StaticFieldName != null)
return PathHelper.GetStaticField(engine, type, StaticFieldName);
if (Path != null)
return context;
return engine.Get(SourceProperty);
}