casting相关内容

如何以编程对象转换在运行时?

假设我有一样的自定义控件: MyControl:控制 如果我有code是这样的: 名单,其中,控制>列表=新... list.Add(myControl); RolloutAnimation动画=列表[0]; 我知道我可以在编译时做,但我想这样做在运行时和访问MyControl特定的功能。 解决方案 你为什么要在运行时做呢?如果您有更多类型的列表控件中,有一些特定 ..
发布时间:2015-11-27 16:10:07 C#/.NET

C#+ WPF:我应该怎么做适当的检查/卫士/访问控制值时施放?

这大概是pretty的基础,但我只是捡了C#经过多年与其他语言的工作,我也很遗憾习惯于松散,动态类型。现在,在构建一个WPF的形​​式有很多的复选框,我发现我的code做这样确定复选框被选中是否实际上是相当复杂的简单的事情,因为需要检查空值和铸造的结果。我结束了辅助功能,如: 私人布尔器isChecked(CheckBox控件){ 返回控制= NULL和放大器;!&安培; con ..
发布时间:2015-11-27 15:10:51 C#/.NET

净 - 投或转换装箱字节?,短?或INT?为int?

如果我有一个对象引用,引用字节?,短?或诠释?,有没有办法无条件地投或转换的对象引用为int?无需编写单独的code每个案例? 例如: 字节? aByte = 42; // ..或aByte = NULL object对象= aByte; // ... VAR ANINT =(INT?)anObject //正如预期的那样,无法正常工作 解决方案 我会使用 对象o = ...; // ..
发布时间:2015-11-27 14:45:14 C#/.NET

铸造父类到子类

我有我已经扩展和增加新的属性Message类。 类ChildMessage:信息 { 支柱... } 在试图邮件类添加到ChildMessage名单,我得到了添加的类空引用。 VAR myChildList =新的名单,其中,ChildMessage> (); VAR myParentClass =新信息(); myChildList.add(myParentClass为Chi ..
发布时间:2015-11-27 12:59:17 C#/.NET

无法转换对象类型“System.String [*]'输入'System.String []'

大家好,我曾与一个code在C#.NET中的问题,我使用的DLL连接到OPC服务器被用在VB.NET工程,并与一点问题都没有的DLL。 我想显示一个列表框可用服务器的列表,在VB.NET(及工程)中使用的code是这一个: 昏暗AllOPCServers作为对象 AllOPCServers = AnOPCServer.GetOPCServers “加载返回到供用户选择列表框中的列表 昏暗我短 ..
发布时间:2015-11-27 12:48:48 C#/.NET

麻烦铸造COM对象的C#/。NET类

我有一个是用C#实现在IDL库中定义一个接口的基类。我有一个管理这个类的一个实例C ++类。我也有一个需要使用这个类的[实例(也就是通过C ++项目获得)C#项目。我想投我的基类实现回我的C#基类中的COM接口。 然而,当我投,我从C获得的通用对象++比重为我的C#的基类,我收到一个错误。当我投它派生的接口,是没有问题的。 下面是我的问题类似的例子。如果作用域在CSDriver的NETBase ..
发布时间:2015-11-27 12:48:14 C#/.NET

什么是隐式转换字符为整数好处?

只是出于好奇... 我发现一个讨厌的副作用与char类型的工作,所以我想知道为什么设计师选择了一个类似的行为。 下面是因为隐式转换的有效的,: INT X ='A'; 但是,下面是一个有点混乱给我,因为容易导致misinter pretations: INT Y ='P'+'Q'; 由于字符串是由字符和字符串的“总和”产生另一个字符串,为什么字符的“总和”应该给不同的东西 ..
发布时间:2015-11-27 12:41:22 C#/.NET

字符串转换为INT在LINQ

我有一个LINQ查询,查询的数据表。在数据表,字段是一个字符串,我需要比较,为一个整数,基本上是: IF((电气> = 100安培;&放大器;电< = 135)||电气== 19) { //该设备通过 } 问题是,我试图做到这一点的LINQ是这样的: VAR eGoodCountQuery = 从行singulationOne.Table ..
发布时间:2015-11-27 12:36:11 C#/.NET

铸造Templete内在价值问题

我不能分享我的code BU基本上我有一个类实现接口,像这样: 公共接口 { 无效DOA(); } 公共类B: { 公共无效DOA() { //做 } } 和我有一个像这样的列表: 名单,其中,B>名单=新的名单,其中,B>(); list.Add(新的B()); 现在我希望有一个的IEnumerable< A&GT ..
发布时间:2015-11-27 12:34:47 C#/.NET

为什么我不能投派生泛型类型立足非通用型(通过约束)?

鉴于这种虚构的例子: 类非泛型 { } 一流的通用< T> :非泛型 其中T:非泛型 { 牛逼DoSomething的() { 回到这一点; // ** } } 我希望它编译:通用< T>从非泛型导出和牛逼必须是一个派生类,它满足它的约束。 我应该能够做到这一点: 非通用OBJ =新的通用<非通用&G ..
发布时间:2015-11-27 12:26:32 C#/.NET

相同类型的不同版本的同一程序集的类型转换

我碰到一个我不知道如果我能得到圆形或不是一个问题。我的图书馆及其他图书馆都提供特定类型的数据的API和我现在已经写了一个互操作库,可以在两馆坐下来,他们之间自由转换数据的伟大的工程。 但我现在试着写使用它依赖于其它的API第三个库通过我的API访问数据的一个小的演示应用程序,并在这里就是我打的问题。第三个库引用合并版本其他的API,并要引导是一个老版本的其他的API,而我的API引用其他的API ..
发布时间:2015-11-27 11:42:44 C#/.NET

无法CAST()通用字典项的DictionaryEntry时,通过非一般的IDictionary枚举

我有一些code,它遍历一个非一般的 的IDictionary 通过先调用LINQ的 铸造 方法。路过即使我专门通过非泛型的IDictionary 接口,使​​用它的通用字典实现时,但我得到一个无效的转换异常。 IDictionary的快译通=新字典<对象,对象> {{“测试”,“测试”}}; 的foreach(在字典VAR项) { Debug.Assert的(产品的Dic ..
发布时间:2015-11-27 11:34:17 C#/.NET

字节乘以字节的数据类型为int的某些原因。为什么?无法隐式转换类型'诠释'到'字节'。显式转换存在

我有这个code,并没有出于某种原因。我不明白。什么是错的? 字节狗=(字节)2 * byte.Parse(“2”); 我得到这个异​​常LinqPad:“无法隐式转换类型'诠释'到'字节'一个显式转换存在(是否缺少强制转换?)。” 还有什么是正确的方式来写这个code?谢谢你。 解决方案 上的为sbyte,字节,USHORT,总之所有的算术运算的是扩大为 INT 。 例如,第三 ..
发布时间:2015-11-27 11:05:28 C#/.NET

我怎样才能投出接口作为其在C#类型?

我有一个返回的接口属性。在调试过程中,我可以什么返回打破,虽然它是接口,Visual Studio是足够聪明,知道派生类型,它实际上是。我认为它的使用反射或东西。我不确定。我的问题是,我可以拥有相同的信息提供给我在运行时这样我就可以创建相应类型的变量,并投了接口是什么?下面是我要说的: I preDisplay preDisplay = CB preDisplay。 如果preDisp ..
发布时间:2015-11-27 10:57:31 C#/.NET

为什么不投<双>()上的IEnumerable&LT工作;诚信>?

可能显示的文件: Puzzling Enumerable.Cast InvalidCastException的 我想要一个整数数组转换为double数组(这样我就可以把它传递给一个函数,它双打的数组)。 最明显的解决方案(对我来说,至少)是使用Cast扩展功能IEnumerable的,但它给了我一个InvalidCastException,我不明白为什么。我的解决方法是使用选择,而不是, ..
发布时间:2015-11-26 21:55:57 C#/.NET

不同类型的数组,如何知道什么对他们投把他们从数组时?

假设通用列表键入分组,拿着自定义类延伸的分组,如 LoginPacket 或 ChatPacket 比方说,我在列表中把这些。当我带他们出去,最“具体”类型的每个将是分组。我想这些投到他们的更具体的类型,虽然,放回原来的 LoginPacket 或 ChatPacket 或放回不论其原来的类型为。 问:我怎样才能做到这一点。 参考:所以......好像如果这些自定义类共享一个通用的接口,它可 ..
发布时间:2015-11-26 21:45:01 C#/.NET

为什么我需要总结的投短此code?

如果我有一些code这样的: 短myShortA = 54; 短myShortB = 12; 短myShortC =(短)(myShortA - myShortB); 这两个操作数都是短裤和它进入一个短,为什么我一定要投它? 解决方案 由于没有“短 - 短”操作符。这两个操作数提升为int类型。 从C#3规范的第7.7.5: 在predefined减法运算符 ..
发布时间:2015-11-26 21:28:20 C#/.NET