- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
为什么这在 VB.Net 中有效:
Dim ClipboardStream As New StreamReader(
CType(ClipboardData.GetData(DataFormats.CommaSeparatedValue), Stream))
但这会在 C# 中引发错误:
Stream is a Type, which is not valid in the current context
ClipboardStream = new StreamReader(Convert.ChangeType(
ClipboardData.GetData(DataFormats.CommaSeparatedValue), Stream));
老实说,我并不是 100% 了解类型转换,我只在代码片段中使用过它们,现在我正在尝试将简单的 VB 代码片段转换为 C# 版本...
最佳答案
ChangeType
接受一个 Type
作为第二个参数,所以你应该写成 typeof(Stream)
。 typeof(Stream)
评估为表示类型 Stream
的 Type
实例。仅在那里使用 Stream
是行不通的,因为它不会计算出一个值。这不是一个表达式。
无论如何,你不应该在这里使用ChangeType
,你应该cast,这是C# equivalent CType
:
ClipboardStream = new StreamReader((Stream)ClipboardData.GetData(DataFormats.CommaSeparatedValue));
关于c# - VB 与 C# — CType 与 ChangeType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50112541/
我的数据可能非常大,可能是 xmlstring、数据集、数据表、数据行集合。此数据将与其类型一起传递给泛型方法。 void GenericMethod(object data, Type t) {
我发现这篇文章来自 @hugoware关于解析值:http://hugoware.net/blog/more-control-when-parsing-values .我在一个项目中重新使用了他的代码
我有一个有效的自定义消息协议(protocol)的反序列化类。此类使用反射来检查类的属性和协议(protocol)映射的属性。这工作正常,除非值是无符号整数(32 或 64)并且正在转换为整数(32
我想根据另一个变量的类型转换一个变量。 这样做的原因是我有一个扩展方法,它将对 T 应用计算,前提是 T 是 double 、 float 或小数(我在方法开头测试正确的类型)。 所以无论如何,使用以
我想知道 Object Convert.ChangeType( Object object, Type type) 内部发生了什么当 object 的类型匹配 type .它只是捷径并返回object
在我的应用程序中,我经常调用 Convert.ChangeType 以将值转换为动态加载的类型。 但是,在使用 ANTS 进行分析后,我发现此 Convert.ChangeType 似乎需要花费大量时
public static T Convert(String value) { return (T)Convert.ChangeType(value, typeof(T)); }
我从数据库中得到了一个 Int16 值,需要将其转换为枚举类型。不幸的是,这是在代码层中完成的,除了可以通过反射收集的内容外,该代码层对对象知之甚少。 因此,它最终调用 Convert.ChangeT
我想将字符串转换为对象属性值,我将其名称作为字符串。我正在尝试这样做: string modelProperty = "Some Property Name"; string value = "Som
Convert 自 .NET 1.0 起就存在类。 IConvertible 从那时起,界面也已经存在。 Convert.ChangeType 方法仅适用于实现 IConvertible 的类型的对象
给定类(class): public class Foo { public string Name { get; set; } } 是否可以通过 Convert.ChangeType 从字符串
我是 Flutter/Dart 的新手,我正在尝试构建一个具有占位符加载的可重复使用的无限滚动条。类(class)如下: import 'dart:async'; import 'package:fl
NumberFormatInfo nfi = new NumberFormatInfo(); nfi.CurrencySymbol = "$"; var result1 = decimal.Parse
我想制作一个通用的字符串到数字转换器,并将其作为字符串扩展提供,因此我编写了以下代码: public static bool TryParse( this string text, out T res
我有一个代表通用过滤器表达式的类 public class SimpleFilter : BaseRuleExpression { public string field { get; set
此代码将时区添加到 DateTime,在实际场景中,此代码位于一个通用函数内,用于将字符串转换为各种类型。所以我需要一个适用于所有类型的通用代码: DateTime d = DateTime.MinV
遇到以下问题。我有一个属性定义了数据库表中键的名称。使用反射,我用该属性初始化属性或字段的值。一切都很好,直到我将属性定义为数组: [ConfigurationKey("TestArray")] pu
我正在使用 Convert.ChangeType() 将 Object(我从 DataBase 获取)转换为通用类型 T。代码如下所示: T element = (T)Convert.ChangeTy
我正在使用 .Net Connector 6.3.6 处理 MySQL,并在 VS 2010 上创建实体模型。我打算编写一个通用方法,将 EntityObject 添加到其对应的表中。这是它的样子:
这是 this question 的后续行动关于用反射转换值。将某种类型的对象转换为另一种类型可以像这样完成: object convertedValue = Convert.ChangeType(v
我是一名优秀的程序员,十分优秀!