不得不用反射来做
然后强制转换foreach(object oj in obj)
{
     Type t = oj.GetType();
     //直接用反射
     ..........
     ..........
     或者
     switch(t.Name)
      {
           case ........
           //可以根据类型来强制转换
          
       } 
      
}

解决方案 »

  1.   

    强制转换。
    (yourtype)textbox1.yourprop
      

  2.   

    object[] obj = {TextBox1,TextBox2,DropDownList1}TextBox(obj[0])TextBox(obj[1])DropDownList(obj[2])
      

  3.   

    我有讲哦:)object[] obj = {TextBox1,TextBox2,DropDownList1}TextBox tb = obj[0] as TextBox;
    if (tb != null) {
    //取TextBox的属性
    }
    DropDownList ddl = obj[0] as DropDownList;
    if (ddl != null) {
    //取DropDownList的属性
    }
      

  4.   

    夕夕公主)你说的语法对吗
    TextBox tb = obj[0] as TextBox;
    好像不对啊
      

  5.   

    夕夕公主的语句是正确的,as 可以在兼容的类型之间进行转换,语法是这样:object = expression as type.其中expression 是作一种兼容的引用.另一个方法是使用is操作符检验,然后作强制转换,但这样要作两次操作,不如as 有效率..
      

  6.   

    ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpguide/html/cpcondynamicallyloadingusingtypes.htm
      

  7.   

    楼主的问题偶想了想,不知道说的对不对,在这里献一下丑了,说的不对请见谅!
    1.首先要遍历object[]中的所有内容,根据内容的不同强制类型转换一下,方法如下(偶只贴了其中一种类型的,其他的还要自己再加,偶没有找到自动遍历所有对象的方法呢)
    //改变指定WEBFORM中的全部TEXTBOX的TEXT值***************************************************
    public void FormatWebFormTextBoxOfText(System.Web.UI.Page page,string FormatValue)
    {
    int i,j;
    for (i = 0; i < page.Controls.Count; i++)
    {
    if (page.Controls[i].HasControls())
    {
    for (j = 0; j < page.Controls[i].Controls.Count; j++)
    {
    if (page.Controls[i].Controls[j].GetType().Namespace == "System.Web.UI.WebControls")
    {
    if(page.Controls[i].Controls[j].GetType().Name=="TextBox")
    {
    if (FormatValue == null)
    {
    ((TextBox)(page.Controls[i].Controls[j])).Text = "";
    }
    else
    {
    ((TextBox)(page.Controls[i].Controls[j])).Text = FormatValue;
    }
    }
    }
    }
    }
    }
    }
    //*****************************************************************************************
    2.需要做反射,方法如下
    /*
    System.Type tp = this.TextBox1.GetType();
    foreach(System.Reflection.PropertyInfo pi in tp.GetProperties())
    {
    this.globalmessa.Text += pi.ToString();
    }
    */
    这个方法实现LIST出所TEXTBOX的属性,以上两步需要楼主自己再结合一下,偶没有时间整理了。
    3.就是方法的调用,这里还没有能执行动态调用的办法(偶还没有找到),需要你根据自己应用再做具体分析了。不知道偶的回答对楼主有没有帮助