Ejemplo n.º 1
0
        internal static string Getkeyword(string moniker, out MonikerHelper.MonikerAttribute keyword)
        {
            moniker = moniker.TrimStart();
            int indexOfEqualSign = moniker.IndexOf("=", StringComparison.Ordinal);

            if (indexOfEqualSign == -1)
            {
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new MonikerSyntaxException(SR.GetString(SR.NoEqualSignFound, moniker)));
            }

            int indexOfComma = moniker.IndexOf(",", StringComparison.Ordinal);

            if (indexOfComma != -1 && indexOfComma < indexOfEqualSign)
            {
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new MonikerSyntaxException(SR.GetString(SR.NoEqualSignFound, moniker)));
            }

            string suspectedKeyword = moniker.Substring(0, indexOfEqualSign).Trim();

            suspectedKeyword = suspectedKeyword.ToLower(System.Globalization.CultureInfo.InvariantCulture);

            foreach (MonikerHelper.KeywordInfo keywordInfo in MonikerHelper.KeywordInfo.KeywordCollection)
            {
                if (suspectedKeyword == keywordInfo.Name)
                {
                    keyword = keywordInfo.Attrib;
                    moniker = moniker.Substring(indexOfEqualSign + 1).TrimStart();
                    return(moniker);
                }
            }
            throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new MonikerSyntaxException(SR.GetString(SR.UnknownMonikerKeyword, suspectedKeyword)));
        }
Ejemplo n.º 2
0
        internal static string Getkeyword(string moniker, out MonikerHelper.MonikerAttribute keyword)
        {
            moniker = moniker.TrimStart(new char[0]);
            int index = moniker.IndexOf("=", StringComparison.Ordinal);

            if (index == -1)
            {
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new MonikerSyntaxException(System.ServiceModel.SR.GetString("NoEqualSignFound", new object[] { moniker })));
            }
            int num2 = moniker.IndexOf(",", StringComparison.Ordinal);

            if ((num2 != -1) && (num2 < index))
            {
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new MonikerSyntaxException(System.ServiceModel.SR.GetString("NoEqualSignFound", new object[] { moniker })));
            }
            string str = moniker.Substring(0, index).Trim().ToLower(CultureInfo.InvariantCulture);

            foreach (MonikerHelper.KeywordInfo info in MonikerHelper.KeywordInfo.KeywordCollection)
            {
                if (str == info.Name)
                {
                    keyword = info.Attrib;
                    moniker = moniker.Substring(index + 1).TrimStart(new char[0]);
                    return(moniker);
                }
            }
            throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new MonikerSyntaxException(System.ServiceModel.SR.GetString("UnknownMonikerKeyword", new object[] { str })));
        }
 internal KeywordInfo(string name, MonikerHelper.MonikerAttribute attrib)
 {
     this.Name = name;
     this.Attrib = attrib;
 }
Ejemplo n.º 4
0
 internal KeywordInfo(string name, MonikerHelper.MonikerAttribute attrib)
 {
     this.Name   = name;
     this.Attrib = attrib;
 }