日期:2014-05-18  浏览次数:20802 次

C#如何动态创建对象
C# code

 private void InitializeFace(Array InitializeTDInfo)
        {
            if (InitializeTDInfo.Length > 0)
            {
                //需要判断里面的值是否为空
                for (Int32 i = 0; i < InitializeTDInfo.Length; i++)
                {
                    Single r = ((TDFP.MyWebServiceRef.TDFPModel[])(InitializeTDInfo))[i].L1;//半径
                    Int32 x = ((TDFP.MyWebServiceRef.TDFPModel[])(InitializeTDInfo))[i].X;//圆点X坐标
                    Int32 y = ((TDFP.MyWebServiceRef.TDFPModel[])(InitializeTDInfo))[i].Y;//圆点Y坐标

                    Ellipse ellipseOne+ "i" = new Ellipse();//圆

                    ellipseOne.Stroke = new SolidColorBrush(Color.FromArgb(255, 255, 255, 255));//动态设置Stroke属性的方法。
                    ellipseOne.StrokeThickness = 2;
                    ellipseOne.Width = r * 2;
                    ellipseOne.Height = r * 2;
                    Canvas.SetLeft(ellipseOne, x - r);
                    Canvas.SetTop(ellipseOne, y - r);
                    panel.Children.Add(ellipseOne);
                    ellipse.Add(ellipseOne);
                }
            }
        }



在动态创建圆对象的时候如何生成名称不一样的对象
我上面ellipseOne+ "i" 是错误的。

------解决方案--------------------
变量名是无所谓的。

你能不能想明白,如下两个源代码编译器产生的程序完全一样:

C# code
void Main()
{
    int i = 10;
    i++;
    Console.WriteLine(i);
}

void Main()
{
    int x = 10;
    x++;
    Console.WriteLine(x);
}