AnalysisWarning の基本クラス。インク分析処理中に発生する警告またはエラーを表します。
名前空間 : System.Windows.Ink.AnalysisCore
アセンブリ : IACore (IACore.dll 内)
構文
'宣言
Public Class AnalysisWarningBase
'使用
Dim instance As AnalysisWarningBase
public class AnalysisWarningBase
public ref class AnalysisWarningBase
public class AnalysisWarningBase
public class AnalysisWarningBase
解説
発生する可能性のある警告の種類は、AnalysisWarningCode 列挙体により示されます。多くの場合、使用している InkRecognizerBase によりサポートされていない InkRecognizerBase の機能を使用しようとすると警告が発生します。
一部の警告は致命的 (つまり、分析が中断された) ですが、他の警告は致命的ではありません。詳細については、InkRecognizerBase を参照してください。
例
次の例に、AnalysisStatusBase オブジェクト status 内の警告をループし、各警告に対処して、警告情報をメッセージ文字列 message に集める方法を示します。
' Loop through warnings
Dim warning As AnalysisWarningBase
For Each warning In status.Warnings
Select Case warning.WarningCode
Case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.Aborted
message = message & "Analysis operation was aborted. "
Case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.BackgroundException
' This is a fatal warning. Throw an exception.
' First, attempt to save as much document state as possible
' ...
' Rethrow the exception so that it can be caught by an exception
' handler (or if there is no exception handler, a program error
' debugger such as Dr. Watson can be invoked)
Throw (warning.BackgroundException)
Case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.ConfirmedWithoutInkRecognition
message = message & "Node was confirmed without ink recognition having been performed. "
Case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.ContextNodeLocationNotSet
message = message & "Node does not have a proper ___location set. "
Case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.FactoidCoercionNotSupported
message = message & "Factoid coercion failed "
If (Not warning.AnalysisHint Is Nothing) AndAlso _
warning.AnalysisHint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.Factoid) Then
message = message & "for factoid: " & _
CType(warning.AnalysisHint.GetPropertyData( _
PropertyGuidsForAnalysisHintsBase.Factoid), String) & ". "
End If
Case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.FactoidNotSupported
If (Not warning.AnalysisHint Is Nothing) AndAlso _
warning.AnalysisHint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.Factoid) Then
message = message & _
CType(warning.AnalysisHint.GetPropertyData( _
PropertyGuidsForAnalysisHintsBase.Factoid), String) & _
" factoid was not respected. "
End If
Case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.GuideNotSupported
message = message & "Guide was not respected. "
Case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.AddInkToRecognizerFailed
message = message & "Ink could not be added to the InkRecognizer. "
Case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.InkRecognizerInitializationFailed
message = message & "The InkRecognizer failed to initialize. "
Case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.NoMatchingInkRecognizerFound
message = message & "There are no ink recognizers meeting the language or capabilities needed. "
Case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.LanguageIdNotRespected
message = message & "The language ID set on a stroke did not match the language ID of the InkRecognizer. "
Case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.PartialDictionaryTermsNotSupported
message = message & "Partial dictionary terms could not be returned from the text recognizer. "
Case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.SetPrefixSuffixFailed
message = message & "The text recognizer was unable to respect either the prefix or suffix. "
If (Not warning.AnalysisHint Is Nothing) AndAlso _
warning.AnalysisHint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.PrefixText) Then
message = message & "Prefix: " & _
warning.AnalysisHint.GetPropertyData(PropertyGuidsForAnalysisHintsBase.PrefixText) _
& ". "
End If
If (Not warning.AnalysisHint Is Nothing) AndAlso _
warning.AnalysisHint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.SuffixText) Then
message = message & "Suffix: " & _
warning.AnalysisHint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.SuffixText) _
& ". "
End If
Case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.WordlistNotSupported
message = message & "Wordlist was not respected. "
Case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.WordModeNotSupported
message = message & "Word mode was not respected. "
End Select
' Add node id information
Dim id As Guid
For Each id In warning.GetNodeIds()
message = message & "Id: " & id.ToString() & " "
Next id
' Add hint information
If Not (warning.AnalysisHint Is Nothing) Then
Dim hint As ContextNodeBase = warning.AnalysisHint
message = message & Environment.NewLine & "Hint information: "
message = message & "AllowPartialDictionaryTerms"
If hint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.AllowPartialDictionaryTerms) Then
message = message & " = " & _
hint.GetPropertyData( _
PropertyGuidsForAnalysisHintsBase.AllowPartialDictionaryTerms).ToString()
Else
message = message & " = False "
End If
message = message & "CoerceToFactoid"
If hint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.CoerceToFactoid) Then
message = message & " = " & _
hint.GetPropertyData( _
PropertyGuidsForAnalysisHintsBase.CoerceToFactoid).ToString()
Else
message = message & " = False "
End If
If hint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.Factoid) Then
message = message & "Factoid = " & _
warning.AnalysisHint.GetPropertyData(PropertyGuidsForAnalysisHintsBase.Factoid) & " "
End If
If hint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.Guide) Then
Dim theInkRecognizerGuideBase As InkRecognizerGuideBase = _
CType(hint.GetPropertyData(PropertyGuidsForAnalysisHintsBase.Guide), _
InkRecognizerGuideBase)
message += "Guide Drawn Box = {" & theInkRecognizerGuideBase.DrawnBoxLeft.ToString() _
& ", " & theInkRecognizerGuideBase.DrawnBoxTop.ToString() _
& ", " & theInkRecognizerGuideBase.DrawnBoxRight.ToString() _
& ", " & theInkRecognizerGuideBase.DrawnBoxBottom.ToString() _
& ")"
message &= "Guide Writing Box = {" & theInkRecognizerGuideBase.WritingBoxLeft.ToString() _
& ", " & theInkRecognizerGuideBase.WritingBoxTop.ToString() _
& ", " & theInkRecognizerGuideBase.WritingBoxRight.ToString() _
& ", " & theInkRecognizerGuideBase.WritingBoxBottom.ToString() _
& ")"
message = message & String.Format("Guide = ({0}, {1})", _
theInkRecognizerGuideBase.Columns, theInkRecognizerGuideBase.Rows)
End If
If hint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.Name) Then
message = message & "Name = " & _
CType(warning.AnalysisHint.GetPropertyData(PropertyGuidsForAnalysisHintsBase.Name), String) _
& " "
End If
If Not hint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.PrefixText) Then
message = message & "PrefixText = " & _
CType(warning.AnalysisHint.GetPropertyData(PropertyGuidsForAnalysisHintsBase.PrefixText), String) _
& " "
End If
If Not hint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.SuffixText) Then
message = message & "SuffixText = " & _
CType(warning.AnalysisHint.GetPropertyData(PropertyGuidsForAnalysisHintsBase.SuffixText), String) _
& " "
End If
message = message & "WordMode"
If hint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.WordMode) Then
message = message & " = " & _
CType(hint.GetPropertyData(PropertyGuidsForAnalysisHintsBase.WordMode), String)
Else
message = message & " = False"
End If
End If
message = message & Environment.NewLine
Next warning
// Loop through warnings
foreach (AnalysisWarningBase warning in status.Warnings)
{
switch (warning.WarningCode)
{
case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.Aborted:
message += "Analysis operation was aborted. ";
break;
case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.BackgroundException:
// This is a fatal warning. Throw an exception.
// First, attempt to save as much doc state as possible
// ...
// Rethrow the exception so that it can be caught by an exception
// handler (or if there is no exception handler, a program error
// debugger such as Dr. Watson can be invoked)
throw(warning.BackgroundException);
case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.ConfirmedWithoutInkRecognition:
message += "Node was confirmed without ink recognition having been performed. ";
break;
case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.ContextNodeLocationNotSet:
message += "Node does not have a proper ___location set. ";
break;
case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.FactoidCoercionNotSupported:
message += "Factoid coercion failed ";
if (warning.AnalysisHint != null &&
warning.AnalysisHint.ContainsPropertyData(
PropertyGuidsForAnalysisHintsBase.Factoid))
{
message += "for factoid: " +
(string) warning.AnalysisHint.GetPropertyData(
PropertyGuidsForAnalysisHintsBase.Factoid) + ". ";
}
break;
case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.FactoidNotSupported:
if (warning.AnalysisHint != null &&
warning.AnalysisHint.ContainsPropertyData(
PropertyGuidsForAnalysisHintsBase.Factoid))
{
message +=
(string)warning.AnalysisHint.GetPropertyData(
PropertyGuidsForAnalysisHintsBase.Factoid)
+ " factoid was not respected. ";
}
break;
case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.GuideNotSupported:
message += "Guide was not respected. ";
break;
case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.AddInkToRecognizerFailed:
message += "Ink could not be added to the InkRecognizer. ";
break;
case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.InkRecognizerInitializationFailed:
message += "The InkRecognizer failed to initialize. ";
break;
case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.NoMatchingInkRecognizerFound:
message += "There are no ink recognizers meeting the language or capabilities needed. ";
break;
case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.LanguageIdNotRespected:
message += "The language ID set on a stroke did not match the language ID of the InkRecognizer. ";
break;
case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.PartialDictionaryTermsNotSupported:
message += "Partial dictionary terms could not be returned from the text recognizer. ";
break;
case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.SetPrefixSuffixFailed:
message += "The text recognizer was unable to respect either the prefix or suffix. ";
if (warning.AnalysisHint != null &&
warning.AnalysisHint.ContainsPropertyData(
PropertyGuidsForAnalysisHintsBase.PrefixText))
{
message += "Prefix: " +
warning.AnalysisHint.GetPropertyData(
PropertyGuidsForAnalysisHintsBase.PrefixText) + ". ";
}
if (warning.AnalysisHint != null &&
warning.AnalysisHint.ContainsPropertyData(
PropertyGuidsForAnalysisHintsBase.SuffixText))
{
message += "Suffix: " +
warning.AnalysisHint.GetPropertyData(
PropertyGuidsForAnalysisHintsBase.SuffixText) + ". ";
}
break;
case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.WordlistNotSupported:
message += "Wordlist was not respected. ";
break;
case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.WordModeNotSupported:
message += "Word mode was not respected. ";
break;
}
// Add node id information
foreach (Guid id in warning.GetNodeIds())
message += "Id: " + id.ToString() + " ";
// Add hint information
if (warning.AnalysisHint != null)
{
ContextNodeBase hint = warning.AnalysisHint;
message += Environment.NewLine + "Hint information: ";
message += "AllowPartialDictionaryTerms";
if (hint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.AllowPartialDictionaryTerms))
message += " = " +
((bool)hint.GetPropertyData(
PropertyGuidsForAnalysisHintsBase.AllowPartialDictionaryTerms)).ToString();
else
message += " = false ";
message += "CoerceToFactoid";
if (hint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.CoerceToFactoid))
message += " = " +
((bool)hint.GetPropertyData(
PropertyGuidsForAnalysisHintsBase.CoerceToFactoid)).ToString();
else
message += " = false ";
if (hint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.Factoid))
message += "Factoid = " +
(string) warning.AnalysisHint.GetPropertyData(
PropertyGuidsForAnalysisHintsBase.Factoid) + " ";
if (hint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.Guide))
{
InkRecognizerGuideBase theInkRecognizerGuideBase =
(InkRecognizerGuideBase) hint.GetPropertyData(
PropertyGuidsForAnalysisHintsBase.Guide);
message += "Guide Drawn Box = {" + theInkRecognizerGuideBase.DrawnBoxLeft.ToString()
+ ", " + theInkRecognizerGuideBase.DrawnBoxTop.ToString()
+ ", " + theInkRecognizerGuideBase.DrawnBoxRight.ToString()
+ ", " + theInkRecognizerGuideBase.DrawnBoxBottom.ToString()
+ ")";
message += "Guide Writing Box = {" + theInkRecognizerGuideBase.WritingBoxLeft.ToString()
+ ", " + theInkRecognizerGuideBase.WritingBoxTop.ToString()
+ ", " + theInkRecognizerGuideBase.WritingBoxRight.ToString()
+ ", " + theInkRecognizerGuideBase.WritingBoxBottom.ToString()
+ ")";
}
if (hint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.Name))
message += "Name = " +
(string) warning.AnalysisHint.GetPropertyData(
PropertyGuidsForAnalysisHintsBase.Name);
if (hint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.PrefixText))
message += "PrefixText = " +
(string) warning.AnalysisHint.GetPropertyData(
PropertyGuidsForAnalysisHintsBase.PrefixText) + " ";
if (hint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.SuffixText))
message += "SuffixText = " +
(string) warning.AnalysisHint.GetPropertyData(
PropertyGuidsForAnalysisHintsBase.SuffixText) + " ";
message += "WordMode";
if (hint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.WordMode))
message += " = " +
((bool) hint.GetPropertyData(
PropertyGuidsForAnalysisHintsBase.WordMode)).ToString();
else
message += " = false";
}
message += Environment.NewLine;
}
継承階層
System.Object
System.Windows.Ink.AnalysisCore.AnalysisWarningBase
スレッド セーフ
この型のすべてのパブリック static (Visual Basic では Shared) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォーム
Windows Vista, Windows XP SP2, Windows Server 2003
.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 3.0
参照
参照
System.Windows.Ink.AnalysisCore 名前空間