问题标签 [iconvertible]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - C#:从 IConvertible 获取 Bytearray
我目前正在做一个编辑二进制文件的小项目。因此我想使用 IConvertible 接口,因为我不能为每种类型创建一个 Getter 和 Setter。
目前我正在研究需要将 IConvertible 对象转换为字节数组的 Setter。
Setter 目前看起来像这样:
public void SetValue(UInt32 Offset, IConvertible Value) { }
有没有人知道从 IConvertible 对象中获取字节数组的方法,因为 BitConverter 不提供这样做的本机方式。
c# - IConvertible 是如何工作的
我有以下从互联网上获得的代码。我不确定IConvertible
. MSDN 说:
“该接口提供了将实现类型的实例的值转换为具有等效值的公共语言运行时类型的方法。”
这是否意味着,我可以分配任何东西IConvertible
并在使用它时将其转换为实现类型?
例如,在下面的示例中,我将参数作为键值对传递,其中 key isstring
和 value is IConvertible
。
SqlParameter object
取 key asstring
和 value as 取决于表或存储过程中声明的类型。它在这里究竟是如何工作的?
c# - 有效的 GUID 字符串提供了从“System.String”到“System.Guid”的无效转换
我正在运行以下代码:
虽然guid1
得到一个值就好了,guid2
行抛出一个异常:
有什么不同?
不幸的是,我使用的给定dll
在第二次解析时失败,所以不能真正改变实现,只有我的输入。
.net - 从 int 转换为自定义结构 C#
我正在编写一个自定义的通用 VectorN 类,其中 T:struct、IFormattable、IComparable、IConvertible。我可以通过 this[int index] 访问向量的索引值。所以在一个循环中,我执行这段代码来制作 VectorN.One:
它与标准数字(例如 int、decimal 等)完美配合,但是当我编写自定义 struct uHalfByte 进行测试时,它给出了错误:
从“System.Int32”到“uHalfByte”的无效转换。
这是uHalfByte的脚本:
我在 uHalfByte 中做错了什么还是不可能?
c# - MVC 文件上传:对象必须实现 iConvertible
我允许用户上传文件并为其命名。现在,我只是在数据库中添加一行,内容如下:
Username, DataSetID (GUID), DataSetName, TimeStamp
.
我收到错误
“对象必须实现 IConvertible。”
c# - 使用带有 TypeNameHandling 标志的 Json.NET 序列化具有 IConvertible 值的字典
我有以下字典,我非常想使用 Json.Net 对其进行序列化。字典包含IConvertible
接口项,允许我将所需的任何原始类型添加到字典中。
我有以下使用 Json.net 序列化列表的实现:
这给了我以下输出:
然而。当试图反序列化时:
...我收到以下错误:
我环顾四周,发现以下内容;但设置 typeNameHandling 并没有解决它。我也不能用IConvertible
类型名称属性来装饰值,因为它是字典。
我还没有找到有关该主题的任何其他信息,因此将不胜感激!
我也找到了这个解决方案,但它涉及创建一个 ExpandableObjectConverter 这不是一个非常优雅的解决方案。
c# - 编译器如何在具有相似签名的 2 之间选择方法?
我有枚举
在扩展中,我有两种获取属性值的方法:
和
这些方法具有不同的签名,但是当我执行下一个操作时,ContentMIMEType.Xlsx.GetStringValue()
会采用第一种方法。
为什么会发生这种情况,因为对我来说第二种方法的执行更加明显(试图改变排序顺序,但没有帮助)。
c# - 在 Dapper 中调用 QueryAsync 会引发 System.Data.DataException
我正在尝试使用 Dapper 查询一个如下所示的 Sqlite 表:
目前在该表中,我只有一条记录:
1
DESKTOP-KQT7CGC
0
1
2019-09-21 03:04:10.099067
2019-09-21 03:04:37.6825109
0
4.0.0
var data = await _globalConfig.Connection.GetStatusAsync();
ApplicationInfoModel
看起来像这样:
我收到一条System.Data.DataException
消息Error parsing column 1 (MachineName=System.Byte[] - Object)
。
这是调用堆栈:
内部异常:
有人可以帮我理解为什么要IConvertible
在模型上实现吗?
我试图IConvertible
只为MachineName
属性实现,但它仍然抛出相同的异常。
sql - VSTO:将 __ComObject (Microsoft.Office.Interop.Word.Table) 存储在数据库中
我想在 T-SQL 数据库中存储一个 Microsoft.Office.Interop.Word.Table 对象。并再次从数据库中获取对象以粘贴到 Word 文档中。强制所有信息,如标签、索引、格式保持一致。
在数据库端,我创建了一个 [Object] (varbinary(max)) byte[] 字段。
直接将单词对象分配给参数化查询会导致序列化错误。我告诉我我需要显式创建一个转换函数(iConvertible):
代码:
我已经在我自己的 LoomTable 类中包装了单词 object 来构建某种 ToString 转换器。但这似乎很麻烦,并且当用户在表中插入图片图表、oleobjects 时容易出错。
有什么建议么?帮助将不胜感激!
c# - Xamarin:对象必须实现 IConvertible
我得到以下异常
System.InvalidCastException:“对象必须实现 IConvertible。”
在第 2 行或函数开始后的任何行。
它被称为
该函数在过去 3 年中一直使用没有问题,但是当我最近不得不更新一些 NuGet 包(即 SQLite PCL)时,它停止了工作。我束手无策。