本文整理汇总了C#中Monitor.OnError方法的典型用法代码示例。如果您正苦于以下问题:C# Monitor.OnError方法的具体用法?C# Monitor.OnError怎么用?C# Monitor.OnError使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Monitor
的用法示例。
在下文中一共展示了Monitor.OnError方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ParseContexts
/// <summary>
/// Parses the specified contexts and re-populates context array with features and returns
/// the values for these features.
/// If all values are unspecified, then null is returned.
/// </summary>
/// <param name="contexts">The contexts.</param>
/// <param name="monitor">The evaluation monitor.</param>
/// <returns>The event values.</returns>
/// <exception cref="System.InvalidOperationException">Negative values are not allowed: context</exception>
public static float[] ParseContexts(string[] contexts, Monitor monitor) {
var hasRealValue = false;
var values = new float[contexts.Length];
for (var ci = 0; ci < contexts.Length; ci++) {
var ei = contexts[ci].LastIndexOf("=", StringComparison.InvariantCulture);
if (ei > 0 && ei + 1 < contexts[ci].Length) {
var gotReal = true;
try {
values[ci] = float.Parse(contexts[ci].Substring(ei + 1), CultureInfo.InvariantCulture);
} catch (Exception) {
gotReal = false;
if (monitor != null)
monitor.OnError("Unable to determine value in context:" + contexts[ci]);
values[ci] = 1;
}
if (gotReal) {
if (values[ci] < 0) {
throw new InvalidOperationException("Negative values are not allowed: " + contexts[ci]);
}
contexts[ci] = contexts[ci].Substring(0, ei);
hasRealValue = true;
}
} else {
values[ci] = 1;
}
}
if (!hasRealValue) {
values = null;
}
return values;
}