class A
{
private string _value;
public string myValue
{
get {return _value;}
set {_value = value;}
}
}class B
{
private A[] a = new A[20];
public A aInstance
{
get (int i){return a[i].myValue;} //这里不会写
set .... {a[i].myValue = value;} //这里不会写
}
}谢谢..
{
private string _value;
public string myValue
{
get {return _value;}
set {_value = value;}
}
}class B
{
private A[] a = new A[20];
public A aInstance
{
get (int i){return a[i].myValue;} //这里不会写
set .... {a[i].myValue = value;} //这里不会写
}
}谢谢..
{
get return a[i].myValue;} //这里不会写
set .... {a[i].myValue = value;} //这里不会写
}
public int this[int index]
{
get
{
return a[index];
}
set
{
if(index>0&&index<100)
a[index] = value;
}
}
public int this[int index,int i, int j,int m ,int n]
{
get
{
return a[index];
}
set
{
if(index>0&&index<100)
a[index] = value;
}
}
{
get{}
set{}
}
{
get{}
set{}
}这一段是类的索引(Indexer),this是引用当前类对象吧,我觉得是这样
using System;namespace Test
{
public class ccc
{
private string a1;
private string a2;
public ccc()
{}
public string A1
{
get{return a1;}
set{a1 = value;}
}
public string A2
{
get{return a2;}
set{a2 = value;}
} public void Say()
{
Console.WriteLine ("my say");
} }
/// <summary>
/// Class2 的摘要说明。
/// </summary>
public class Class2
{
private string Cl2="Class2";
private ccc [] a; public Class2()
{
a = new ccc [5];
for (int i=0;i<5;i++)
{
a[i].A1 = "a1-" + i.ToString ();
a[i].A2 = "a2-" + i.ToString ();
}
}
public string name
{
get{return Cl2;}
set{Cl2=value;}
}
public ccc this[int i]
{
get {return a[i];}
set {a[i]=value;}
}
}
}//这里调用
private void button10_Click(object sender, System.EventArgs e)
{
Class2 c = new Class2 ();
Console.WriteLine (c[2].A2); //感觉很别扭(这不成了自己为数组了吗,我那样写就是为了不想将自己变成数组),然后,果然是出错了 Console.WriteLine (c[4].A1); //我的想法是写 c.a[3].A2 这种形式(美观又好看),还可以改成 c.a[Name].A2 = xxx;类似这样
}我的想法是一个类中包含一个数组(另一个类的引用),并获取或设置该数组的值实现类似于 dataSet.Table[0].Rows[2] 这样的类结构.再次谢谢!