有没有办法收集(例如在List中)不共享一个共同超类的多个"通用"对象?如果是这样,我如何访问他们的共同属性?
例如:
class MyObject<T>
{
public T Value { get; set; }
public string Name { get; set; }
public MyObject(string name, T value)
{
Name = name;
Value = value;
}
}
var fst = new MyObject<int>("fst", 42);
var snd = new MyObject<bool>("snd", true);
List<MyObject<?>> list = new List<MyObject<?>>(){fst, snd};
foreach (MyObject<?> o in list)
Console.WriteLine(o.Name);
Run Code Online (Sandbox Code Playgroud)
显然,这是伪代码,这不起作用.
此外,我不需要访问.Value属性(因为这不是类型安全的).
编辑:既然我一直在考虑这个问题,那么可以使用子类.但是,我认为这意味着我必须为每个新类型编写一个新的子类.
@ Grzenio 是的,这完全回答了我的问题.当然,现在我需要复制整个共享接口,但这不是一个大问题.我应该想到这个......
@ aku 你对鸭子打字是正确的.我不希望可以访问两个完全随机类型的对象.
但我认为通用对象会共享某种通用接口,因为它们完全相同,除了它们被参数化的类型.显然,情况并非如此.
我正在尝试制作DTS包以在同一服务器上的两个数据库之间传输数据,并且我收到以下错误.我读到,当您在不同的数据库类型之间进行传输并且精度损失时,可能会发生多步OLE DB操作生成错误,但这不是这种情况.如何检查列元数据?
错误:0xC0202009在数据流任务,piTech [183]:发生了OLE DB错误.错误代码:0x80040E21.OLE DB记录可用.来源:"Microsoft SQL Native Client"Hresult:0x80040E21说明:"多步OLE DB操作生成错误.检查每个OLE DB状态值,如果可用.没有工作.".
错误:数据流任务中的0xC0202025,piTech [183]:无法创建OLE DB访问器.验证列元数据是否有效.
错误:数据流任务中的0xC004701A,DTS.Pipeline:组件"piTech"(183)未执行预执行阶段并返回错误代码0xC0202025.
我认为这char* = "string"
是相同的char* = new char[6]
.我相信这些字符串是在堆而不是堆栈上创建的.因此,当我使用它们或者它们被自己摧毁时,我是需要销毁它们还是释放它们的记忆?
服务器已经运行IIS以通过TCP服务80和443端口.我想通过互联网为我的所有团队成员提供集中的"推/拉"GIT存储库.
所以我应该使用HTTP或HTTPS.
但我不能使用Apache,因为IIS已经连接了80和443端口上的侦听套接字!有没有办法通过IIS发布GIT存储库?GIT是否使用WebDAV ultima analysi?
更新.似乎git HTTP安装是只读的.那很难过.我打算在构建服务器上保持稳定分支,并在push上使用hook重新部署.有没有人看到在该分支上使用SVN旁边的解决方法?
WPF和Silverlight丰富的表现能力意味着像我这样的开发人员现在会更频繁地与平面设计师密切合作,就像我下一个项目中的情况一样.
有没有人有任何提示和经验(从两个角度来看)让这个更顺利?
例如,当我最近向设计师提到源代码控制时,我很快就被告知你无法获取控制图形,图像等,所以这是浪费时间.所以我回答:好吧,但是,WPF/Silverlight中的XAML文件怎么样?
Scott Hanselman在播客中谈到了这个话题,但他更多地关注这些工具,而我对通信问题/方面更感兴趣.
在C中创建套接字或打开/创建文件时,分配给套接字/文件的文件描述符是否保证是可用的最低值描述符?如果有的话,C规范在这方面对文件描述符分配有何看法?
如何在给定时间发现可用的任何USB存储设备和/或CD/DVD刻录机(使用C#.Net2.0).
我想向用户提供可以存储文件以便物理移除的设备选择 - 即不是硬盘驱动器.
这不是特定于任何语言,它只是最佳实践.我正在使用JPA/Hibernate(但它可能是任何其他ORM解决方案)并且我想知道你们如何处理这种情况:假设你有一个查询返回一些你没有表示的东西域类.您是否创建了一个特定的类来表示该特定查询?您是否在其他类型的对象(数组,地图......)中返回查询?其他一些解决方案?我想知道您的经历和最佳实践.
PS实际上我正在为特定查询创建特定的对象.
我需要一种方法来确定在Linux,Windows和OS X上使用python在磁盘卷上剩余的空间.我正在解析各种系统调用的输出(df,dir)来实现这一点 - 有更好的方法吗?