-1

我可以创建一个可以为我保存任何对象集合的类吗?

例如虚拟目录的集合?

编辑

关于我的问题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();
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
4

1 回答 1

2

从你的问题我猜有两个选择

泛型

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

System.Collections.Generic.List<string>

或来自.net4.0+

ExpandoObject 在运行时添加属性(很像 Javascript)

dynamic obj = new System.Dynamic.ExpandoObject();
obj.Name = "Stack";
于 2013-10-14T09:25:53.000 回答