UIAutomation.ExSpyCode.WritingAvailablePatterns C# (CSharp) Method

WritingAvailablePatterns() public static method

public static WritingAvailablePatterns ( IUiElement element ) : string
element IUiElement
return string
        public static string WritingAvailablePatterns(IUiElement element)
        {
            string resultString = string.Empty;
            
            try {
                resultString = "available patterns";
                resultString += "\r\n";
                
                // 20120618 UiaCOMWrapper
                // 20131209
                // AutomationPattern[] supportedPatterns =
                //     element.GetSupportedPatterns();
                
                IBasePattern[] supportedPatterns =
                    element.GetSupportedPatterns();
                //UiaCOM::System.Windows.Automation.AutomationPattern[] supportedPatterns =
                //    element.GetSupportedPatterns();                                    

                if (supportedPatterns == null || supportedPatterns.Length <= 0) return resultString;
                
                for (int i = 0; i < supportedPatterns.Length; i++) {
                    if (i > 0) {
                        resultString += "\r\n";
                    }
                    
                    resultString +=
                        // 20131209
                        // supportedPatterns[i].ProgrammaticName.Replace("Identifiers.Pattern", "");
                        // 20131210
                        // (supportedPatterns[i] as AutomationPattern).ProgrammaticName.Replace("Identifiers.Pattern", "");
                        // (supportedPatterns[i].SourcePattern as AutomationPattern).ProgrammaticName.Replace("Identifiers.Pattern", "");
                        // 20140112
                        // (supportedPatterns[i].GetSourcePattern() as AutomationPattern).ProgrammaticName.Replace("Identifiers.Pattern", string.Empty);
                        supportedPatterns[i].GetType().Name.Substring(3);
                }

                /*
                if (supportedPatterns != null &&
                    supportedPatterns.Length > 0) {
                    for (int i = 0; i < supportedPatterns.Length; i++) {
                        if (i > 0) {
                            this.richPatterns.Text += "\r\n";
                        }
                        this.richPatterns.Text += 
                            supportedPatterns[i].ProgrammaticName.Replace("Identifiers.Pattern", "");
                    }
                }
                */
               return resultString;
            }
            catch {
                return resultString;
            }
        }