本文整理汇总了C#中IInput.GetText方法的典型用法代码示例。如果您正苦于以下问题:C# IInput.GetText方法的具体用法?C# IInput.GetText怎么用?C# IInput.GetText使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IInput
的用法示例。
在下文中一共展示了IInput.GetText方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: IfProcessor
//.........这里部分代码省略.........
//
// (#elseif ...
//
else if( SC.OPEN_PAREN == ch && input.StartsWith(ELSEIF_START) ) {
int argsStart = input.Index;
input.Skip( ELSEIF_START.Length );
if( ! char.IsWhiteSpace(input.Peek()) ) {
ThreadContext.MacroError( "expected white space following \"(#elseif\"" );
}
if( inElse ) {
ThreadContext.MacroError( "out of place (#elseif) in (#if ...) statement" );
}
// ******
//
// we're responsible for gather the arguments to `elseif'
//
NmpStringList strList = mp.Get<IScanner>().ArgScanner( input, RecognizedCharType.CloseParenChar );
int argsEnd = input.Index - 1;
if( SC.NEWLINE == input.Peek() ) {
input.Skip( 1 );
}
// ******
if( processing ) {
if( depth > DEPTH_ZERO ) {
//
// reinject elseif token and text: "[token] expression )"
//
string text = input.GetText(argsStart, argsEnd);
result.AppendFormat( "({0}", text );
}
else {
//
// else DEPTH_ZERO, need to stop processing
//
processing = false;
done = true;
}
}
else if( DEPTH_ZERO == depth && ! done ) {
////
//// since we're plowing through the text ourselves we need to
//// call out to have the `elseif' arguments evaluated
////
//var ah = new ArgumentHandler( mp, "if processor" );
//ah.Initialize( new Type [] { typeof(bool) }, strList );
//processing = (bool) ah[ 0 ];
//
// already evaluated when ArgScanner was run
//
processing = 0 == strList.Count ? false : Helpers.IsMacroTrue( strList[0] );
}
continue;
}
//
// (#else)
//
else if( SC.OPEN_PAREN == ch && input.StartsWith(ELSE) ) {
input.Skip( ELSE.Length );