- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我最近尝试返回一个 Guid 类型的对象来自接受 <T>
的方法,但是编译器给了我以下错误:
The type 'System.Guid' cannot be used as type parameter 'T' in the generic type or method 'MyGenericMethod'. There is no boxing conversion from 'System.Guid' to 'System.IConvertible'.
经过调查,我意识到编译器消息是由于 Guid 类型未实现 System.IConvertible 接口(interface)引起的。
MSDN陈述如下:
This interface provides methods to convert the value of an instance of an implementing type to a common language runtime type that has an equivalent value.
提供的类型列表不包括 Guid;任何人都可以解释/提供一个用例来说明为什么会这样吗?
最佳答案
IConvertible要求类型能够将其数据转换为大多数原语。例如,您如何将 Guid 表示为 float ?
因为 Guid 无法实现大部分接口(interface)方法,所以它不应以其他方式声明自己。
现在开始真正的问题:您想要完成什么?
关于c# - 为什么 System.Guid 不实现 System.IConvertible?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13066889/
Description: An unhandled exception occurred during the execution of the current web request. Please
我正在尝试为自定义转换实现 IConvertible。我正在使用 .NET portable,但它似乎在那里不可用。但是 MSDN documentation说: Portable Class Lib
我在吹毛求疵,我知道。但是在只包含一个 bool 值(因此只有两种状态)的结构上实现 IConvertible 接口(interface)时,建议从 IConvertible.GetTypeCode(
我有一个类 ChargesDetail 并且正在尝试反序列化 json,如下所示。这里我使用的数据类型是 Amount。 public class ChargesDetail { public
我对 IConvertible 有疑问,简而言之:如果 DateTimeOffset 实现了 IConvertible,我就不会有问题。 你不能使用扩展方法来实现一个接口(interface),所以这
我有一个从数据库中填充的网格控件,如下所示: OracleConnection connection= new OracleConnection("DATA SOURCE=mydb;PASSWORD=
我在尝试为组合框设置数据源时遇到问题。我收到错误无法转换为类型 System.IConvertible。它说这是因为我有一个 System.Convert.ToInt32(object value)
运行时出现如下错误 "Object must implement IConvertible" 调用函数 lboxBuildingType.SelectedIndex = pharse.returnin
这是我第一次尝试使用 NPOCO,我正在尝试读取 MS SQLEXPRESS 数据库 来自 NuGet 的 NPOCO“2.2.49”,SQLEXPRESS 2008 R2,VS 2013,.NET
我收到这个错误: Object must implement IConvertible. Line 225: SqlDataReader r = cmd.ExecuteReader(); SQL Se
在 Mono 2.10 REPL 中试玩: csharp> string a = "true"; csharp> a.ToBoolean(CultureInfo.InvariantCulture);
使用MySqlDataReader,我尝试读取 int(11) 的主键。 int id=reader.GetInt32(0); 给出错误“对象必须实现 IConvertible”。是什么原因?我该如何
我使用以下代码在 LinqToExcel 中查询 Excel 文件: var excelFile = new LinqToExcel.ExcelQueryFactory(@"\"+txtFileNam
我收到此错误“无法将‘Data’类型的对象转换为‘System.IConvertible’类型。”在我的代码中 foreach (Data p in clusters[i]) { for(in
我正在尝试为同一个类/表映射父/子之间的双向多对一关系。这是映射: References(x => x.Parent).Column("ParentID"); HasMany(x => x.Child
我正在尝试将某种类型的对象转换为它使用 Convert.ChangeType() 实现的接口(interface), 但是 InvalidCastException被抛出是因为对象必须实现 IConv
我正在尝试使用 AutoQuery在查询参数上使用 NodaTime.LocalDate,当我尝试使用该日期字段进行过滤时,特别是 >MyDate=2020-01-01(订购不受影响): [MyEnd
当出现以下错误时,我试图将列表框项和每个列表框项的文本框值插入数据库。 如果我只尝试插入列表框项目,我会成功,但是当我尝试插入文本框值时,我会收到此错误。你能告诉我我做错了什么吗? Error Mes
我的问题很长,因为它包含很多代码,很遗憾,我无法将其发布得更短。我以前从未收到过这样的错误,这就是我在这里寻求帮助的原因。非常感谢您的帮助和时间! 我收到错误 “System.InvalidCastE
Apache Wicket 问题: 我正在尝试在 ConverterLocator 类中注册 IConverter。从 WebApplication 类: protected IConverterLo
我是一名优秀的程序员,十分优秀!