我可以在没有指定类属性的情况下创建一个可以容纳任何类型对象的类吗?

时间:2013-10-14 09:20:25

标签: c# class

我可以创建一个可以容纳任何对象集合的类吗?

例如虚拟目录的集合?

修改

参考我的问题https://stackoverflow.com/questions/19315834/is-it-possible-to-copy-a-virtual-directory-of-one-web-application-to-another-web?noredirect=1#comment28635593_19315834

我正在尝试将虚拟目录从一个站点复制到另一个站点,但是当我尝试将更改提交到服务器管理器时,我得到一个错误,因为它只是读取,我猜是因为我正在读取它的值同时我想写信给她

我可以为虚拟目录对象创建子类并在其中存储值吗?如果是,那怎么样?

这是我目前得到的嗅觉代码,

foreach (ListViewItem item in lstWebSitesCopyFrom.CheckedItems)
{
    using (var CopyFromMgr = new ServerManager())
    {
        foreach (var CopyFromsite in CopyFromMgr.Sites)
        {
            if (CopyFromsite.Name == item.Text)
            {
                foreach (Microsoft.Web.Administration.Application CopyFromApp in CopyFromsite.Applications)
                {
                    foreach (ListViewItem item2 in lstWebSitesCopyTo.CheckedItems)
                    {
                        using (var CopyToMgr = new ServerManager())
                        {
                            foreach (var CopyToSite in CopyToMgr.Sites)
                            {
                                if (CopyToSite.Name == item2.Text)
                                {
                                    foreach (Microsoft.Web.Administration.Application CopyToApp in CopyToSite.Applications)
                                    {
                                        int i = 0;

                                        foreach (VirtualDirectory oldVD in CopyFromApp.VirtualDirectories)
                                        {
                                            if (i == 0)
                                            {
                                                i++;
                                            }
                                            else
                                            {
                                                CopyToApp.VirtualDirectories.Add(oldVD);
                                                CopyToMgr.CommitChanges();
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

1 个答案:

答案 0 :(得分:2)

从你的问题我猜两个选项

<强>泛型

来自System.Collections.Generic命名空间的任何集合,例如

System.Collections.Generic.List<string>

或者来自.net4.0 +

<强> ExpandoObject 它在运行时添加属性(很像Javascript)

dynamic obj = new System.Dynamic.ExpandoObject();
obj.Name = "Stack";