Microsoft.VisualStudio.TestTools.UITesting 命名空间下,有UITestControl.SearchProperties 属性 
然后我到MSDN上查了下,SearchProperties确实是属性,可是我确不明白它的用法。通常属性都是这样用的,例如,有个UITestControl的类叫UITestControlA,如果是UITestControlA.SearchProperties=...或者...=UITestControlA.SearchProperties。
但是我从资料上看到,属性可以这样用,带[ ]的,如this.SearchProperties[WinWindow.PropertyNames.Name] = "系统主窗口";
这个不是索引器的东西吗?菜鸟,还请指教。

解决方案 »

  1.   

    这是索引器,用于我们获取对象的集合属性中的某个元素。使用的方式一般是:对象名[int]或对象名[string]
      

  2.   

    这叫索引器属性
        /// <summary>
        /// 定义帐套类别
        /// </summary>
        internal sealed class AccountVoucherType
        {
            #region -变量定义        /// <summary>
            /// 帐套类别
            /// </summary>
            private DataSet m_dsMain = null;        #endregion        #region -构造        /// <summary>
            /// 构造函数
            /// </summary>
            private AccountVoucherType()
            {
                
            }        #endregion        #region -属性        /// <summary>
            /// 取得帐套类别
            /// </summary>
            /// <param name="strTypeName">类别名</param>
            /// <returns>失败返回-1</returns>
            internal int this[string strTypeName]
            {
                get
                {
                    using (DataView dv = new DataView(this.m_dsMain.Tables[0]))
                    {
                        dv.RowFilter = string.Format("str_VoucherName='{0}'", strTypeName);
                        if (dv.Count > 0)
                        {
                            return Convert.ToInt32(dv[0]["int_VoucherSort"]);
                        }
                        else
                        {
                            return -1;
                        }
                    }
                }
            }        /// <summary>
            /// 取得帐套类别名称
            /// </summary>
            /// <param name="nTypeID">类别标识</param>
            /// <returns>失败返回null</returns>
            internal string this[int nTypeID]
            {
                get
                {
                    using (DataView dv = new DataView(this.m_dsMain.Tables[0]))
                    {
                        dv.RowFilter = string.Format("int_VoucherSort='{0}'", nTypeID);
                        if (dv.Count > 0)
                        {
                            return dv[0]["str_VoucherName"].ToString();
                        }
                        else
                        {
                            return null;
                        }
                    }
                }
            }
      

  3.   

    看下SearchProperties的定义,其中应该有T this[string name]之类的定义
      

  4.   

    string str = "abcdef";
    char chr = str[0]; // 0是索引 str[0]表示"abcdef"中的第0的位置的char 也就是'a';