问题标签 [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.

0 投票
1 回答
1576 浏览

linq - 扩展方法:如何使它也与 GUID 一起工作

我正在使用此扩展方法来转换项目中的对象。但它无法转换GUID,因为它没有实现IConvertible接口,但对于转换我总是必须使用new Guid(fooobject),但我希望我可以使用这种方法将对象转换为GUID. 任何想法我们如何才能使其灵活地工作GUID

扩展方法是

0 投票
1 回答
408 浏览

c# - 带有 IConvertible 错误的 SqlParameter.Value 的隐式运算符和赋值

我有一个类成员类型为 Int32,但要求是该成员的 .ToString() 方法需要返回 Int32 的特殊格式版本。所以我创建了一个带有隐式运算符的结构,它保留了简单的赋值语义,我可以覆盖 .ToString()...

在典型用法中,它按预期运行。但是,当我分配给 SqlParameter.Value 成员时,我最终得到一个“...使用 IConvertible ...”错误...

在调试时,我的结构上的 .ToString() 方法似乎在 SqlParameter.Value 分配上被调用。所以问题 #1 是为什么这样做而不是分配基础 Int32 值?

相关问题 #2 是为什么初始分配不会产生错误,因为错误是在 SqlCommand.ExecuteReader() 方法中产生的?

随意批评我编写的代码的任何方面,但我真的希望能得到很好的答案。

(编辑添加)我将重新表述我的问题......

我需要创建一个完全模仿 Int32 的值数据类型(使用 .ToString() excpetion),这样当它被装箱时,Int32 值被装箱而不是结构。

这可能吗?

0 投票
2 回答
500 浏览

sql - 如何在我的代码中实现 IConvertible 对象?

当我在单击保存按钮后在数据网格列中输入完所有数据时,将返回此错误:

错误:system.data.dll 中出现“System.InvalidCastException”类型的未处理异常

附加信息:对象必须实现 IConvertible。

如何在对象中实现 IConvertible?

0 投票
0 回答
346 浏览

.net - 如何将“System.String[]”类型的对象转换为“System.IConvertible”类型

似乎无法找出如何使数组中的值出现在标签中..

给出了例外

无法找到一个好的答案,因为我正在开发一个 Windows 窗体应用程序,所以我也不能继承 IConvertible ......

0 投票
1 回答
1472 浏览

c# - 找不到类型或命名空间名称“IConvertible”

我正在尝试为自定义转换实现 IConvertible。我正在使用 .NET 便携版,它似乎在那里不可用。但是MSDN 文档说:

可移植类库
支持:可移植类库

我对此也有点担心:

此 API 不符合 CLS。

这就是它可能无法解决的原因吗?根据文档,它应该是System命名空间的一部分。我正在尝试在结构中实现接口。

类似的东西:

我有一种感觉,我错过了一些非常小的东西。
更多信息:我的目标是 .NET Framework 4.5 和 Windows 8。

0 投票
2 回答
346 浏览

c# - 为什么 .Net Framework 基本类型不包含 IConvertible 方法的实现?

.Net Framework 基本类型,例如 Int32、Int64、Boolean 等。实现 IConvertible 接口,但这些类型的元数据不包含 IConvertible 接口中定义的方法的实现,例如 ToByte、ToBoolean 等。

我试图理解为什么基本类型没有方法实现,即使它们实现了 IConvertible 接口。有人可以帮忙吗?

0 投票
1 回答
898 浏览

c# - 将 listviewitem 转换为 System.IConvertible

我有以下问题...我有一个列表视图,其中有一些数字(ID)。现在我想用一些列表框来排列它们,这样我就可以进行典型的 SQL 搜索(使用 OR、AND)。所以列表视图以这种方式填充:

所以在我的列表视图中总是有一个值被选中。当我现在想要进行搜索时,我使用此代码首先将我的元素填充到列表中:

现在我得到以下异常:

“System.Windows.Forms.ListViewItem”类型的对象无法转换为“System.IConvertible”类型。

我该如何解决这个问题?

0 投票
1 回答
1952 浏览

c# - Employee 和 ProductionWorker 类,从类中获取信息

我不完全确定这个标题是否适合这个。我被困在学校的作业上,应该有一个视频来展示如何做到这一点,但对于我来说,我无法弄清楚如何从 pearson 网站下载学生文件。以下是我正在解决的问题。

员工和生产工人阶级

创建一个具有以下数据属性的 Employee 类:

  • 员工姓名
  • 员工编号

接下来,创建一个派生自 Employee 类的名为 ProductionWorker 的类。ProudctionWorker 类应该具有保存以下数据的属性:

  • 移位数(整数,例如 1、2 或 3)
  • 每小时工资率

工作日分为两班倒:白天和晚上。Shift 属性将保存一个整数值,表示员工工作的班次。白班是1班,夜班是2班。

创建一个应用程序,该应用程序创建一个 ProductionWorker 类的对象,并让用户为每个对象的属性输入数据。检索对象的属性并显示它们的值。

这是我为它工作的代码:

代码本身没有显示任何错误,但是当我尝试运行它时,我得到:

字符串 EmpShift 就在那里,因为我不知道如何使用班次代码或多或少地使用它作为占位符,直到我指出它。我不知道如何解决这个问题,希望它是一个小错误。

感谢评论的帮助,我能够解决我遇到的第一个问题,现在我在最后的消息框中遇到了问题。我输入的信息是,Glitter 为姓名,12 为 ID 号,1 为班次,12 为工资。这是它的显示:

名称 System.Windows.Forms.TextBox,文本:GlitterIDNumber 0 小时费率 System.Windows.Forms.TextBox,文本:Shift SystemWindowsForm.TextBox,文本:

0 投票
1 回答
893 浏览

c# - 当返回类型是泛型接口时,如何将对象转换为泛型返回类型?

我有一个非常丑陋的方法,它应该从数据库中提取各种数据,并使用它构造一个请求类型的对象。目标是将各种丑陋的东西拉到一个地方,以便从包含该方法的类派生的类可以相对干净。

我对何时应该返回单个对象没有问题,即使类型可以为空:

不幸的是,在某些情况下,我想要的返回类型是 IList,我想在其中返回一个 List:

我无法返回 rVal,因为它是一个对象,而不是 T 的实例。但是我的 changeType() 函数失败了,并出现错误:

System.InvalidCastException:对象必须实现 IConvertible。

所以,我有一个返回类型为 IList 的泛型方法,我有一个 List 对象,但我对它的引用是 Object 类型。如何转换它以便我可以从函数中返回它?

0 投票
1 回答
1364 浏览

excel - LinqToExcel - 导致 Object 的 InvalidCastException 必须实现 Iconvertible 错误

我正在使用以下代码在 LinqToExcel 中查询一个 excel 文件:

当我查看运行时调试器时,我在查看属性变量的“结果视图”时看到了“InvalidCastException” 。所以,我假设我的类定义发生了一些奇怪的事情。我还假设我不需要将类的所有成员映射到 excel 文件,而只需要我认为合适的那些。
所以,这也是类定义:

这是 GitHub 上 linqToExcel 源代码的链接:LinqToExcel 泛型比我见过的更复杂,而且是我(显然)需要重新学习的东西。

有什么明显的东西我错过了会导致这个问题吗?关于在哪里查看或如何解决这些错误的任何想法?