属性的用法带有[ ]是怎么回事
Microsoft.VisualStudio.TestTools.UITesting 命名空间下,有UITestControl.SearchProperties 属性然后我到MSDN上查了下,SearchProperties确实是属性,可是我确不明白它的用法。通常属性都是这样用的,例如,有个UITestControl的类叫UITestControlA,如果是UITestControlA.SearchProperties=...或者...=UITestControlA.SearchProperties。
但是我从资料上看到,属性可以这样用,带[ ]的,如this.SearchProperties[WinWindow.PropertyNames.Name] = "系统主窗口";
这个不是索引器的东西吗?
菜鸟,还请指教。 --------------------编程问答-------------------- 自己看Attribute的帮助 --------------------编程问答-------------------- 查了,没找到 --------------------编程问答-------------------- --------------------编程问答-------------------- 这是索引器,用于我们获取对象的集合属性中的某个元素。
使用的方式一般是:对象名[int]或对象名[string] --------------------编程问答-------------------- 我通常都是理解为数组。 --------------------编程问答-------------------- 这叫索引器属性
--------------------编程问答-------------------- 索引器本质上也是属性 --------------------编程问答-------------------- 看下SearchProperties的定义,其中应该有T this[string name]之类的定义 --------------------编程问答-------------------- 如何看SearchProperties的定义? --------------------编程问答-------------------- 学习了 --------------------编程问答-------------------- --------------------编程问答-------------------- 索引这个是
/// <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;
}
}
}
}
其实属性也属于索引 --------------------编程问答-------------------- 在简单的开发中比较少用到索引。。。所以还是不熟悉!! --------------------编程问答--------------------
右键转到定义 --------------------编程问答-------------------- 索引器。 --------------------编程问答-------------------- string str = "abcdef";
char chr = str[0]; // 0是索引 str[0]表示"abcdef"中的第0的位置的char 也就是'a'; --------------------编程问答-------------------- xuexi --------------------编程问答-------------------- attribute/property/indexer。
补充:.NET技术 , C#