本文整理汇总了C#中Context.ContainsKey方法的典型用法代码示例。如果您正苦于以下问题:C# Context.ContainsKey方法的具体用法?C# Context.ContainsKey怎么用?C# Context.ContainsKey使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Context
的用法示例。
在下文中一共展示了Context.ContainsKey方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: InitialCellList
private void InitialCellList(Context context)
{
if (!context.ContainsKey(ContextKeys.CellList))
{
List<IACell> cellList = GetCellList(context);
context.Add(ContextKeys.CellList, cellList);
}
}
示例2: GetCellList
private List<IACell> GetCellList(Context context)
{
List<IACell> cellList = new List<IACell>();
if (!context.ContainsKey(ContextKeys.TranceiverList))
return cellList;
//if (context.ContainsKey(ContextKeys.TranceiverList))
//{
List<Transceiver> tranceiverList = (List<Transceiver>)context[ContextKeys.TranceiverList];
foreach (Transceiver tran in tranceiverList)
{
List<IACell> cells = tran.Cells;//GetOneTranceiverCellList(tran);
cellList.AddRange(cells);
}
//}
return cellList;
}
示例3: Initialize
private void Initialize(Context context)
{
Context = context;
foreach (var property in GetType().GetProperties())
{
var name = property.Name.ToLower();
if (context.ContainsKey(name))
{
var type = property.PropertyType;
if (type == typeof(string))
{
if (property.IsAnOption())
{
if (OptionAttribute.IsDefinedOn(property))
{
var attribute = (OptionAttribute) property.GetCustomAttributes(typeof(OptionAttribute), false)[0];
if (attribute.SupportsXPathTemplates)
{
propertiesToEvaluate[property] = context[name];
}
}
property.SetValue(this, context[name], null);
}
}
else if (type == typeof(int))
{
int value;
if (Int32.TryParse(context[name], out value))
{
string description;
if (!RangeValidator.Validate(property, value, out description))
{
var message = string.Format("'{0}' is not a valid value for {1}. {2}", context[name], name, description);
throw new TaskExecutionException(message);
}
property.SetValue(this, value, null);
}
else
{
var message = string.Format("'{0}' is not a valid value for {1}. An integer value is required.", context[name], name);
throw new TaskExecutionException(message);
}
}
else if (type == typeof(bool))
{
bool value;
if (string.IsNullOrEmpty(context[name]))
{
property.SetValue(this, true, null);
}
else if (Boolean.TryParse(context[name], out value))
{
property.SetValue(this, value, null);
}
else
{
var message = string.Format("'{0}' is not a valid value for {1}. A value of 'true' or 'false' is required.", context[name], name);
throw new TaskExecutionException(message);
}
}
}
else
{
if (property.IsAnOption())
{
if (OptionAttribute.IsDefinedOn(property))
{
var attribute = (OptionAttribute) property.GetCustomAttributes(typeof(OptionAttribute), false)[0];
if (attribute.SupportsXPathTemplates)
{
var value = property.GetValue(this, null) ?? string.Empty;
context[name] = value.ToString();
propertiesToEvaluate[property] = context[name];
}
}
}
}
}
}
示例4: CreateTermDefinition
private void CreateTermDefinition(string term, Context context, JObject localContext, IDictionary<string, bool> defined)
{
if (defined.ContainsKey(term))
{
if (!defined[term])
{
throw new InvalidOperationException("Cyclic IRI mapping detected.");
}
return;
}
if (IsKeyWord(term))
{
throw new InvalidOperationException("Keyword redefinition detected.");
}
defined[term] = false;
context.Remove(term);
JToken value = ((localContext != null) && (localContext.Property(term) != null) ? localContext[term].DeepClone() : null);
if ((value == null) || ((value is JValue) && (((JValue)value).Value == null)) || ((value is JObject) && (((JObject)value).Property(Id) != null) && (((JObject)value).Property(Id).ValueEquals(null))))
{
context[term] = null;
return;
}
else if ((value is JValue) && (((JValue)value).Type == JTokenType.String))
{
JObject newObject = new JObject();
newObject[Id] = value;
value = newObject;
}
else if (!(value is JObject))
{
throw new InvalidOperationException("Invalid term definition.");
}
TermDefinition definition = new TermDefinition() { Original = value };
if (((JObject)value).Property(Type) != null)
{
if (!((JObject)value).Property(Type).ValueIs<string>())
{
throw new InvalidOperationException("Invalid type mapping.");
}
string result = ((JObject)value).Property(Type).ValueAs<string>();
result = ExpandIri(result, context, localContext, false, true, defined);
if ((result != Id) && (result != Vocab) && (!Regex.IsMatch(result, "[a-zA-Z0-9_]+:.+")))
{
throw new InvalidOperationException("Invalid type mapping.");
}
definition.Type = result;
}
if (((JObject)value).Property(Reverse) != null)
{
JProperty reverse = ((JObject)value).Property(Reverse);
if (((JObject)value).Property(Id) != null)
{
throw new InvalidOperationException("Invalid reverse property.");
}
if (!reverse.ValueIs<string>())
{
throw new InvalidOperationException("Invalid IRI mapping.");
}
definition.Iri = ExpandIri(reverse.ValueAs<string>(), context, localContext, false, true, defined);
if (((JObject)value).Property(Container) != null)
{
definition.Container = (string)((JObject)value)[Container];
}
definition.IsReverse = true;
context[term] = definition;
defined[term] = true;
return;
}
definition.IsReverse = false;
if ((value is JObject) && (((JObject)value).Property(Id) != null) && (!((JObject)value).Property(Id).ValueEquals(term)))
{
if ((!(((JObject)value).Property(Id).Value is JValue)) || (((JValue)((JObject)value).Property(Id).Value).Type != JTokenType.String))
{
throw new InvalidOperationException("Invalid IRI mapping.");
}
string iri = ExpandIri((string)((JValue)((JObject)value).Property(Id).Value).Value, context, localContext, false, true, defined).ToString();
if ((!IsKeyWord((string)iri)) && (!Regex.IsMatch(iri, "[a-zA-Z0-9_]+:.+")))
{
throw new InvalidOperationException("Invalid IRI mapping.");
}
if ((string)iri == Context)
{
throw new InvalidOperationException("Invalid keyword alias.");
}
definition.Iri = iri;
//.........这里部分代码省略.........
示例5: ExpandIri
private string ExpandIri(object value, Context context, JObject localContext = null, bool documentRelative = false, bool vocab = false, IDictionary<string, bool> defined = null)
{
if (value == null)
{
return null;
}
string valueString = (value as string);
if (valueString == null)
{
throw new InvalidOperationException(System.String.Format("Cannot expand iri of type '{0}'.", value.GetType()));
}
if (IsKeyWord(valueString))
{
return valueString;
}
if ((localContext != null) && (localContext.IsPropertySet(valueString)) && (!defined.ContainsKey(valueString)))
{
CreateTermDefinition(valueString, context, localContext, defined);
}
if ((vocab) && (context.ContainsKey(valueString)))
{
return (context[valueString] != null ? context[valueString].Iri : null);
}
if (Regex.IsMatch(valueString, "[a-zA-Z0-9_]+:.+"))
{
string prefix = valueString.Substring(0, valueString.IndexOf(':'));
string suffix = valueString.Substring(prefix.Length + 1);
if ((prefix == "_") || (suffix.StartsWith("//")))
{
return valueString;
}
if ((localContext != null) && (!defined.ContainsKey(prefix)))
{
CreateTermDefinition(prefix, context, localContext, defined);
}
if (context.ContainsKey(prefix))
{
return context[prefix].Iri.ToString() + suffix;
}
return valueString;
}
if ((vocab) && (context.Vocabulary != null))
{
return MakeAbsoluteUri(context.Vocabulary, valueString);
}
if (documentRelative)
{
return MakeAbsoluteUri(context.BaseIri, valueString);
}
return valueString;
}
示例6: Expand
private JToken Expand(string activeProperty, JObject @object, Context activeContext, IList<string> remoteContexts)
{
JObject result = new JObject();
foreach (JProperty _property in @object.Properties().OrderBy(item => item.Name))
{
string key = _property.Name;
JToken value = _property.Value;
if (key == Context)
{
activeContext = ProcessContext(activeContext, (JToken)value, remoteContexts);
continue;
}
string expandedProperty = ExpandIri(key, activeContext, (JObject)null, false, true, null);
JToken expandedValue = null;
if ((expandedProperty == null) || ((expandedProperty.IndexOf(':') == -1) && (!IsKeyWord(expandedProperty))))
{
continue;
}
if (IsKeyWord(expandedProperty))
{
if (ExpandKeyword(result, _property, activeProperty, expandedProperty, activeContext, remoteContexts, out expandedValue))
{
continue;
}
}
else if ((activeContext.ContainsKey(key)) && (activeContext[key].Container == Language) && (value is JObject))
{
expandedValue = ExpandLanguageMap(result, _property, activeProperty, expandedProperty, activeContext, remoteContexts);
}
else if ((activeContext.ContainsKey(key)) && (activeContext[key].Container == Index) && (value is JObject))
{
expandedValue = ExpandIndexMap(result, _property, activeProperty, expandedProperty, activeContext, remoteContexts);
}
else
{
expandedValue = Expand(key, value, activeContext, remoteContexts);
}
if (expandedValue == null)
{
continue;
}
if ((activeContext.ContainsKey(key)) && (activeContext[key].Container == List))
{
expandedValue = (expandedValue is JArray ? new JObject(new JProperty(List, expandedValue)) : expandedValue);
expandedValue = ((!(expandedValue is JObject)) || (!((JObject)expandedValue).IsPropertySet(List)) ? new JObject(new JProperty(List, new JArray(expandedValue))) : expandedValue);
}
if ((activeContext.ContainsKey(key)) && (activeContext[key].IsReverse))
{
JObject reverseMap = (JObject)(!result.IsPropertySet(Reverse) ? result[Reverse] = new JObject() : result[Reverse]);
foreach (JToken item in (JArray)(expandedValue = expandedValue.AsArray()))
{
if ((item is JObject) && ((((JObject)item).IsPropertySet(Value)) || (((JObject)item).IsPropertySet(List))))
{
throw new InvalidOperationException("Invalid reverse property value.");
}
((JArray)(!reverseMap.IsPropertySet(expandedProperty) ? reverseMap[expandedProperty] = new JArray() : reverseMap[expandedProperty])).Merge(item);
}
}
else
{
((JArray)(!result.IsPropertySet(expandedProperty) ? result[expandedProperty] = new JArray() : result[expandedProperty])).Merge(expandedValue);
}
}
return ValidateExpandedObject(activeProperty, result);
}