当前位置: 首页>>代码示例>>C#>>正文


C# XmlBContext.acceptString方法代码示例

本文整理汇总了C#中XmlBooster.XmlBContext.acceptString方法的典型用法代码示例。如果您正苦于以下问题:C# XmlBContext.acceptString方法的具体用法?C# XmlBContext.acceptString怎么用?C# XmlBContext.acceptString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在XmlBooster.XmlBContext的用法示例。


在下文中一共展示了XmlBContext.acceptString方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: acceptHistory

 /// <summary>Top level function to parse an History from 
 /// a context. This kind of function is only made
 /// available for elements marked as MAIN in the 
 /// metadefinition</summary>
 /// <seealso cref="accept"/>
 public static History acceptHistory(XmlBContext ctxt)
 {
     History res;
     ctxt.skipWhiteSpace();
     try {
     ctxt.acceptString ("<History");
     if (ctxt.isAlNum()){
     ctxt.fail ("White space expected after TAG");
     } // If
       res = lAccept_History(ctxt, "</History>");
      } catch (XmlBRecoveryException e) {
       throw new XmlBException("Unexpected recovery exception: " +
      e.ToString());
     }
       ctxt.close();
     if (ctxt.errCount() > 0){
     res = null;
     throw new XmlBException (ctxt.errorMessage());
     } // If
       return res;
 }
开发者ID:nikiforovandrey,项目名称:ERTMSFormalSpecs,代码行数:26,代码来源:HistoricalData.Generated.cs

示例2: lAcceptEnum_SPEC_IMPLEMENTED_ENUM

 /// <remarks>This method is used by XMLBooster-generated code
 /// internally. Please refrain from using it, as it
 /// might produce unexpected results, and might change
 /// or even disappear in the future.</remarks>
 public static SPEC_IMPLEMENTED_ENUM lAcceptEnum_SPEC_IMPLEMENTED_ENUM(XmlBContext ctxt)
 {
     #pragma warning disable 0168, 0219
       int indicator=0;
     #pragma warning restore 0168, 0219
       SPEC_IMPLEMENTED_ENUM res = SPEC_IMPLEMENTED_ENUM.defaultSPEC_IMPLEMENTED_ENUM;
     switch (ctxt.current()) {
     case 'N':
     {
     ctxt.advance();
     switch (ctxt.current()) {
     case 'o':
     {
     ctxt.advance();
     ctxt.acceptString ("tImplementable");
     res = SPEC_IMPLEMENTED_ENUM.Impl_NotImplementable;
     break;
     } // Case
     case 'e':
     {
     ctxt.advance();
     ctxt.acceptString ("wRevisionAvailable");
     res = SPEC_IMPLEMENTED_ENUM.Impl_NewRevisionAvailable;
     break;
     } // Case
     case 'A':
     {
     ctxt.advance();
     res = SPEC_IMPLEMENTED_ENUM.Impl_NA;
     break;
     } // Case
     default:
     ctxt.recoverableFail ("Other character expected (2397)");
     break;
     } // Switch
     break;
     } // Case
     case 'I':
     {
     ctxt.advance();
     if (ctxt.lookAheadString("mplemented")){
     res = SPEC_IMPLEMENTED_ENUM.Impl_Implemented;
     } else {
     ctxt.moveBack(1);
     res = SPEC_IMPLEMENTED_ENUM.Impl_NA;
     } // If
     break;
     } // Case
     default:
     res = SPEC_IMPLEMENTED_ENUM.Impl_NA;
     break;
     } // Switch
     return res;
 }
开发者ID:GautierBerck,项目名称:ERTMSFormalSpecs,代码行数:58,代码来源:DataDictionary.Generated.cs

示例3: parse


//.........这里部分代码省略.........
            indicator = 914;
            } else {
            indicator = 916;
            } // If
            break;
            } // Case
            case 'G':
            {
            ctxt.advance();
            if (ctxt.lookAheadString("uid=")){
            indicator = 912;
            } else {
            indicator = 916;
            } // If
            break;
            } // Case
            default:
            indicator = 916;
            break;
            } // Switch
            switch (indicator) {
            case 911: {
            // Handling attribute Name
            // Also handles alien attributes with prefix Name
            if (fl911){
            ctxt.fail ("Duplicate attribute: Name");
            } // If
            fl911 = true ;
            quoteChar = ctxt.acceptQuote();
            this.setName((acceptor.lAcceptPcData(ctxt,-1, quoteChar, XmlBContext.WS_PRESERVE)));
            ctxt.accept(quoteChar);
            ctxt.skipWhiteSpace();
            break;
            } // End of dispatch label
            case 912: {
            // Handling attribute Guid
            // Also handles alien attributes with prefix Guid
            if (fl912){
            ctxt.fail ("Duplicate attribute: Guid");
            } // If
            fl912 = true ;
            quoteChar = ctxt.acceptQuote();
            this.setGuid((acceptor.lAcceptPcData(ctxt,-1, quoteChar, XmlBContext.WS_PRESERVE)));
            ctxt.accept(quoteChar);
            ctxt.skipWhiteSpace();
            break;
            } // End of dispatch label
            case 913: {
            // Handling attribute Updates
            // Also handles alien attributes with prefix Updates
            if (fl913){
            ctxt.fail ("Duplicate attribute: Updates");
            } // If
            fl913 = true ;
            quoteChar = ctxt.acceptQuote();
            this.setUpdates((acceptor.lAcceptPcData(ctxt,-1, quoteChar, XmlBContext.WS_PRESERVE)));
            ctxt.accept(quoteChar);
            ctxt.skipWhiteSpace();
            break;
            } // End of dispatch label
            case 914: {
            // Handling attribute IsRemoved
            // Also handles alien attributes with prefix IsRemoved
            if (fl914){
            ctxt.fail ("Duplicate attribute: IsRemoved");
            } // If
            fl914 = true ;
            quoteChar = ctxt.acceptQuote();
            this.setIsRemoved(acceptor.lAcceptBoolean(ctxt));
            ctxt.accept(quoteChar);
            ctxt.skipWhiteSpace();
            break;
            } // End of dispatch label
            // Final default label
            case 916: {
            // Taking ignorable attributes into account
            if (ctxt.isAlNum()){
            ctxt.skipTill ('=');
            ctxt.advance();
            ctxt.skipWhiteSpace();
            quoteChar = ctxt.acceptQuote();
            ctxt.skipTill (quoteChar);
            ctxt.accept(quoteChar);
            ctxt.skipWhiteSpace();
            } else {
            if (!fl914){
            this.setIsRemoved( false);
            } // If
            fl915 = false ;
            } // If
            break;
            } // End of dispatch label
            } // Dispatch
            } // While
            }
            ctxt.skipWhiteSpace();
            ctxt.accept('>');
            parseBody(ctxt);
            ctxt.acceptString(endingTag);
        }
开发者ID:GautierBerck,项目名称:ERTMSFormalSpecs,代码行数:101,代码来源:DataDictionary.Generated.cs

示例4: lAcceptPcDataChr

 /// <summary>Utility function which parse an entity character 
 /// as defined in the XMLBooster configuration.</summary>
 /// <param name="ctxt">the context from which the data must be parsed</param>
 static char lAcceptPcDataChr(XmlBContext ctxt)
 {
     char c = (char)0;
     int indicator=0;
     switch (ctxt.current()) {
     case 'q':
     {
     ctxt.advance();
     ctxt.acceptString ("uot;");
     indicator = 2653;
     break;
     } // Case
     case 'n':
     {
     ctxt.advance();
     ctxt.acceptString ("bsp;");
     indicator = 2652;
     break;
     } // Case
     case 'l':
     {
     ctxt.advance();
     ctxt.accept2('t',';');
     indicator = 2650;
     break;
     } // Case
     case 'g':
     {
     ctxt.advance();
     ctxt.accept2('t',';');
     indicator = 2651;
     break;
     } // Case
     case 'a':
     {
     ctxt.advance();
     switch (ctxt.current()) {
     case 'p':
     {
     ctxt.advance();
     ctxt.accept3('o','s',';');
     indicator = 2654;
     break;
     } // Case
     case 'm':
     {
     ctxt.advance();
     ctxt.accept2('p',';');
     indicator = 2649;
     break;
     } // Case
     default:
     ctxt.recoverableFail ("Other character expected (2662)");
     break;
     } // Switch
     break;
     } // Case
     case '#':
     {
     ctxt.advance();
     ctxt.accept('x');
     indicator = 2655;
     break;
     } // Case
     default:
     ctxt.recoverableFail ("Other character expected (2664)");
     break;
     } // Switch
     switch (indicator) {
     case 2649: {
     c = XMLB_AMPERSAND;
     break;
     } // End of dispatch label
     case 2650: {
     c = XMLB_LESS;
     break;
     } // End of dispatch label
     case 2651: {
     c = XMLB_GREATER;
     break;
     } // End of dispatch label
     case 2652: {
     c = XMLB_NBSP;
     break;
     } // End of dispatch label
     case 2653: {
     c = XMLB_QUOT;
     break;
     } // End of dispatch label
     case 2654: {
     c = XMLB_APOS;
     break;
     } // End of dispatch label
     case 2655: {
     c = (char) ctxt.acceptHexa();
     ctxt.accept(';');
     break;
//.........这里部分代码省略.........
开发者ID:GautierBerck,项目名称:ERTMSFormalSpecs,代码行数:101,代码来源:DataDictionary.Generated.cs

示例5: lAccept_Poly_ReqRelated

 /// <remarks>This method is used by XMLBooster-generated code
 /// internally. Please refrain from using it, as it
 /// might produce unexpected results, and might change
 /// or even disappear in the future.</remarks>
 public static ReqRelated lAccept_Poly_ReqRelated(XmlBContext ctxt, 
                   string  endingTag)
 {
     char quoteChar;
     ReqRelated res = null;
     ctxt.skipWhiteSpace();
     ctxt.acceptString ("xsi:type=");
     quoteChar = ctxt.acceptQuote();
     switch (ctxt.current()) {
     case 'V':
     {
     ctxt.advance();
     if (ctxt.lookAheadString("ariable")){
     ctxt.accept(quoteChar);
     res = lAccept_Variable(ctxt, endingTag);
     } else {
     res = null;
     } // If
     break;
     } // Case
     case 'T':
     {
     ctxt.advance();
     if (ctxt.lookAheadString("estCase")){
     ctxt.accept(quoteChar);
     res = lAccept_TestCase(ctxt, endingTag);
     } else {
     res = null;
     } // If
     break;
     } // Case
     case 'S':
     {
     ctxt.advance();
     if (ctxt.lookAhead1('t')){
     switch (ctxt.current()) {
     case 'r':
     {
     ctxt.advance();
     if (ctxt.lookAheadString("ucture")){
     switch (ctxt.current()) {
     case 'E':
     {
     ctxt.advance();
     if (ctxt.lookAheadString("lement")){
     ctxt.accept(quoteChar);
     res = lAccept_StructureElement(ctxt, endingTag);
     } else {
     ctxt.accept(quoteChar);
     res = lAccept_Structure(ctxt, endingTag);
     } // If
     break;
     } // Case
     default:
     ctxt.accept(quoteChar);
     res = lAccept_Structure(ctxt, endingTag);
     break;
     } // Switch
     } else {
     res = null;
     } // If
     break;
     } // Case
     case 'a':
     {
     ctxt.advance();
     if (ctxt.lookAhead2('t','e')){
     switch (ctxt.current()) {
     case 'M':
     {
     ctxt.advance();
     if (ctxt.lookAheadString("achine")){
     ctxt.accept(quoteChar);
     res = lAccept_StateMachine(ctxt, endingTag);
     } else {
     ctxt.accept(quoteChar);
     res = lAccept_State(ctxt, endingTag);
     } // If
     break;
     } // Case
     default:
     ctxt.accept(quoteChar);
     res = lAccept_State(ctxt, endingTag);
     break;
     } // Switch
     } else {
     res = null;
     } // If
     break;
     } // Case
     default:
     res = null;
     break;
     } // Switch
     } else {
     res = null;
//.........这里部分代码省略.........
开发者ID:GautierBerck,项目名称:ERTMSFormalSpecs,代码行数:101,代码来源:DataDictionary.Generated.cs

示例6: parseBody

        /// <remarks>This method is used by XMLBooster-generated code
        /// internally. Please refrain from using it, as it
        /// might produce unexpected results, and might change
        /// or even disappear in the future.</remarks>
        public override void parseBody(XmlBContext ctxt)
        {
            #pragma warning disable 0168, 0219
            int indicator=0;
            char quoteChar;
             string  tempStr;
            #pragma warning restore 0168, 0219
            bool fl1073;
            Variable fl1075;

            ctxt.skipWhiteSpace();
            base.parseBody(ctxt);
            ctxt.skipWhiteSpace();
            // Optional Enclosed
            if (ctxt.lookAheadOpeningTag("<SubVariables")){
            ctxt.skipWhiteSpace();
            fl1073 = true ;
            while (fl1073) { // BeginLoop
            ctxt.skipWhiteSpace();
            if (ctxt.isAlNum()){
            ctxt.skipTill ('=');
            ctxt.advance();
            ctxt.skipWhiteSpace();
            quoteChar = ctxt.acceptQuote();
            ctxt.skipTill (quoteChar);
            ctxt.accept(quoteChar);
            ctxt.skipWhiteSpace();
            } else {
            fl1073 = false ;
            } // If
            } // While
            if (ctxt.current() == '/'){
            ctxt.advance();
            ctxt.accept('>');
            } else {
            ctxt.accept('>');
            // Repeat
            ctxt.skipWhiteSpace();
            fl1075 = null;
            while(ctxt.lookAheadOpeningTag ("<Variable")) {
            fl1075 = acceptor.lAccept_Variable(ctxt, "</Variable>");
            appendSubVariables(fl1075);
            ctxt.skipWhiteSpace();
            } // -- monomorphic Loop
            // EndRepeat
            ctxt.skipWhiteSpace();
            ctxt.acceptString ("</SubVariables>");
            } // If
            } // If
            // End enclosed
            ctxt.skipWhiteSpace();
        }
开发者ID:GautierBerck,项目名称:ERTMSFormalSpecs,代码行数:56,代码来源:DataDictionary.Generated.cs

示例7: lAcceptEnum_TypeSpec_ertms_type

 /// <remarks>This method is used by XMLBooster-generated code
 /// internally. Please refrain from using it, as it
 /// might produce unexpected results, and might change
 /// or even disappear in the future.</remarks>
 public static TypeSpec_ertms_type lAcceptEnum_TypeSpec_ertms_type(XmlBContext ctxt)
 {
     #pragma warning disable 0168, 0219
       int indicator=0;
     #pragma warning restore 0168, 0219
       TypeSpec_ertms_type res = TypeSpec_ertms_type.defaultTypeSpec_ertms_type;
     switch (ctxt.current()) {
     case 't':
     {
     ctxt.advance();
     switch (ctxt.current()) {
     case 'i':
     {
     ctxt.advance();
     ctxt.acceptString ("me-or-date");
     res = TypeSpec_ertms_type.atime_or_date;
     break;
     } // Case
     case 'e':
     {
     ctxt.advance();
     ctxt.accept2('x','t');
     res = TypeSpec_ertms_type.atext;
     break;
     } // Case
     default:
     ctxt.recoverableFail ("Other character expected (2246)");
     break;
     } // Switch
     break;
     } // Case
     case 's':
     {
     ctxt.advance();
     if (ctxt.lookAheadString("peed")){
     res = TypeSpec_ertms_type.aspeed;
     } else {
     ctxt.moveBack(1);
     res = 0;
     } // If
     break;
     } // Case
     case 'q':
     {
     ctxt.advance();
     if (ctxt.lookAheadString("ualifier")){
     res = TypeSpec_ertms_type.aqualifier;
     } else {
     ctxt.moveBack(1);
     res = 0;
     } // If
     break;
     } // Case
     case 'm':
     {
     ctxt.advance();
     if (ctxt.lookAheadString("iscellaneous")){
     res = TypeSpec_ertms_type.amiscellaneous;
     } else {
     ctxt.moveBack(1);
     res = 0;
     } // If
     break;
     } // Case
     case 'l':
     {
     ctxt.advance();
     if (ctxt.lookAheadString("ength")){
     res = TypeSpec_ertms_type.alength;
     } else {
     ctxt.moveBack(1);
     res = 0;
     } // If
     break;
     } // Case
     case 'i':
     {
     ctxt.advance();
     if (ctxt.lookAheadString("dentity-number")){
     res = TypeSpec_ertms_type.aidentity_number;
     } else {
     ctxt.moveBack(1);
     res = 0;
     } // If
     break;
     } // Case
     case 'g':
     {
     ctxt.advance();
     if (ctxt.lookAheadString("radient")){
     res = TypeSpec_ertms_type.agradient;
     } else {
     ctxt.moveBack(1);
     res = 0;
     } // If
     break;
//.........这里部分代码省略.........
开发者ID:GautierBerck,项目名称:ERTMSFormalSpecs,代码行数:101,代码来源:DataDictionary.Generated.cs

示例8: lAcceptEnum_VariableModeEnumType

 /// <remarks>This method is used by XMLBooster-generated code
 /// internally. Please refrain from using it, as it
 /// might produce unexpected results, and might change
 /// or even disappear in the future.</remarks>
 public static VariableModeEnumType lAcceptEnum_VariableModeEnumType(XmlBContext ctxt)
 {
     #pragma warning disable 0168, 0219
       int indicator=0;
     #pragma warning restore 0168, 0219
       VariableModeEnumType res = VariableModeEnumType.defaultVariableModeEnumType;
     switch (ctxt.current()) {
     case 'O':
     {
     ctxt.advance();
     if (ctxt.lookAheadString("utgoing")){
     res = VariableModeEnumType.aOutgoing;
     } else {
     ctxt.moveBack(1);
     res = VariableModeEnumType.aInternal;
     } // If
     break;
     } // Case
     case 'I':
     {
     ctxt.advance();
     if (ctxt.lookAhead1('n')){
     switch (ctxt.current()) {
     case 't':
     {
     ctxt.advance();
     ctxt.acceptString ("ernal");
     res = VariableModeEnumType.aInternal;
     break;
     } // Case
     case 'c':
     {
     ctxt.advance();
     ctxt.acceptString ("oming");
     res = VariableModeEnumType.aIncoming;
     break;
     } // Case
     case 'O':
     {
     ctxt.advance();
     ctxt.accept2('u','t');
     res = VariableModeEnumType.aInOut;
     break;
     } // Case
     default:
     ctxt.recoverableFail ("Other character expected (2310)");
     break;
     } // Switch
     } else {
     ctxt.moveBack(1);
     res = VariableModeEnumType.aInternal;
     } // If
     break;
     } // Case
     case 'C':
     {
     ctxt.advance();
     if (ctxt.lookAheadString("onstant")){
     res = VariableModeEnumType.aConstant;
     } else {
     ctxt.moveBack(1);
     res = VariableModeEnumType.aInternal;
     } // If
     break;
     } // Case
     default:
     res = VariableModeEnumType.aInternal;
     break;
     } // Switch
     return res;
 }
开发者ID:GautierBerck,项目名称:ERTMSFormalSpecs,代码行数:75,代码来源:DataDictionary.Generated.cs

示例9: lAccept_Poly_Namable

 /// <remarks>This method is used by XMLBooster-generated code
 /// internally. Please refrain from using it, as it
 /// might produce unexpected results, and might change
 /// or even disappear in the future.</remarks>
 public static Namable lAccept_Poly_Namable(XmlBContext ctxt, 
                   string  endingTag)
 {
     char quoteChar;
     Namable res = null;
     ctxt.skipWhiteSpace();
     ctxt.acceptString ("xsi:type=");
     quoteChar = ctxt.acceptQuote();
     switch (ctxt.current()) {
     case 'V':
     {
     ctxt.advance();
     if (ctxt.lookAheadString("ariable")){
     ctxt.accept(quoteChar);
     res = lAccept_Variable(ctxt, endingTag);
     } else {
     res = null;
     } // If
     break;
     } // Case
     case 'T':
     {
     ctxt.advance();
     switch (ctxt.current()) {
     case 'r':
     {
     ctxt.advance();
     if (ctxt.lookAheadString("anslation")){
     switch (ctxt.current()) {
     case 'D':
     {
     ctxt.advance();
     if (ctxt.lookAheadString("ictionary")){
     ctxt.accept(quoteChar);
     res = lAccept_TranslationDictionary(ctxt, endingTag);
     } else {
     ctxt.accept(quoteChar);
     res = lAccept_Translation(ctxt, endingTag);
     } // If
     break;
     } // Case
     default:
     ctxt.accept(quoteChar);
     res = lAccept_Translation(ctxt, endingTag);
     break;
     } // Switch
     } else {
     res = null;
     } // If
     break;
     } // Case
     case 'e':
     {
     ctxt.advance();
     if (ctxt.lookAheadString("stCase")){
     ctxt.accept(quoteChar);
     res = lAccept_TestCase(ctxt, endingTag);
     } else {
     res = null;
     } // If
     break;
     } // Case
     default:
     res = null;
     break;
     } // Switch
     break;
     } // Case
     case 'S':
     {
     ctxt.advance();
     switch (ctxt.current()) {
     case 'u':
     {
     ctxt.advance();
     if (ctxt.lookAhead2('b','S')){
     switch (ctxt.current()) {
     case 't':
     {
     ctxt.advance();
     if (ctxt.lookAhead2('e','p')){
     ctxt.accept(quoteChar);
     res = lAccept_SubStep(ctxt, endingTag);
     } else {
     res = null;
     } // If
     break;
     } // Case
     case 'e':
     {
     ctxt.advance();
     if (ctxt.lookAheadString("quence")){
     ctxt.accept(quoteChar);
     res = lAccept_SubSequence(ctxt, endingTag);
     } else {
     res = null;
//.........这里部分代码省略.........
开发者ID:GautierBerck,项目名称:ERTMSFormalSpecs,代码行数:101,代码来源:DataDictionary.Generated.cs

示例10: lAccept_Poly_Type

 /// <remarks>This method is used by XMLBooster-generated code
 /// internally. Please refrain from using it, as it
 /// might produce unexpected results, and might change
 /// or even disappear in the future.</remarks>
 public static Type lAccept_Poly_Type(XmlBContext ctxt, 
                   string  endingTag)
 {
     char quoteChar;
     Type res = null;
     ctxt.skipWhiteSpace();
     ctxt.acceptString ("xsi:type=");
     quoteChar = ctxt.acceptQuote();
     switch (ctxt.current()) {
     case 'S':
     {
     ctxt.advance();
     if (ctxt.lookAhead1('t')){
     switch (ctxt.current()) {
     case 'r':
     {
     ctxt.advance();
     if (ctxt.lookAheadString("ucture")){
     ctxt.accept(quoteChar);
     res = lAccept_Structure(ctxt, endingTag);
     } else {
     res = null;
     } // If
     break;
     } // Case
     case 'a':
     {
     ctxt.advance();
     if (ctxt.lookAheadString("teMachine")){
     ctxt.accept(quoteChar);
     res = lAccept_StateMachine(ctxt, endingTag);
     } else {
     res = null;
     } // If
     break;
     } // Case
     default:
     res = null;
     break;
     } // Switch
     } else {
     res = null;
     } // If
     break;
     } // Case
     case 'R':
     {
     ctxt.advance();
     if (ctxt.lookAheadString("ange")){
     ctxt.accept(quoteChar);
     res = lAccept_Range(ctxt, endingTag);
     } else {
     res = null;
     } // If
     break;
     } // Case
     case 'F':
     {
     ctxt.advance();
     if (ctxt.lookAheadString("unction")){
     ctxt.accept(quoteChar);
     res = lAccept_Function(ctxt, endingTag);
     } else {
     res = null;
     } // If
     break;
     } // Case
     case 'E':
     {
     ctxt.advance();
     if (ctxt.lookAhead3('n','u','m')){
     ctxt.accept(quoteChar);
     res = lAccept_Enum(ctxt, endingTag);
     } else {
     res = null;
     } // If
     break;
     } // Case
     case 'C':
     {
     ctxt.advance();
     if (ctxt.lookAheadString("ollection")){
     ctxt.accept(quoteChar);
     res = lAccept_Collection(ctxt, endingTag);
     } else {
     res = null;
     } // If
     break;
     } // Case
     default:
     res = null;
     break;
     } // Switch
       return res;
 }
开发者ID:GautierBerck,项目名称:ERTMSFormalSpecs,代码行数:99,代码来源:DataDictionary.Generated.cs


注:本文中的XmlBooster.XmlBContext.acceptString方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。