将我的类转换为 Int64、Double 等

2023-12-27

相关问题:不使用点运算符访问类属性 https://stackoverflow.com/questions/9494070/accessing-a-class-property-without-using-dot-operator/

我创建了一个名为MyDouble看起来像这样

class MyDouble
{
  double value;
  //overloaded operators and methods
}

我能够在 MyDouble 上执行各种操作。例子:

MyDouble a = 5.0;
a += 3.0;
...etc

但是,这仍然会引发错误

MyDouble a = 5.0;
long b = (Int64)a;  //error
long b = (int64)a.value; //works

我如何定义它以便像这样的操作(Int64)a自动转换为(Int64)a.value?我不希望用户永远不必担心该value财产。


为了使此转换起作用,您需要一个显式转换 http://msdn.microsoft.com/en-us/library/xhbhezf4%28v=vs.71%29.aspx到 Int64。

这看起来像:

class MyDouble
{
    double value;

    public static explicit operator Int64(MyDouble value)
    {
         return (Int64)value.value;
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将我的类转换为 Int64、Double 等 的相关文章

  • 使用 Unity 在构造函数中使用属性依赖注入

    好的 我在基类中定义了一个依赖属性 我尝试在其派生类的构造函数内部使用它 但这不起作用 该属性显示为 null Unity 在使用 container Resolve 解析实例后解析依赖属性 我的另一种选择是将 IUnityContaine
  • 如何读取扩展文件属性/文件元数据

    因此 我按照教程使用 ASP net core 将文件 上传 到本地路径 这是代码 public IActionResult About IList
  • C++ 中本地类中的静态成员变量?

    我知道我们不能宣布static本地类中的成员变量 但其原因尚不清楚 那么请问有人可以解释一下吗 另外 为什么我们不能访问非static函数内部定义的变量 内部已经定义了局部类 直接在局部类成员函数中 在下面给出的代码中 int main i
  • 为 Visual Studio 2013 编译 Tesseract

    我正在尝试使用tesseract在 Visual Studio 2013 中 我在链接器 gt 输入 不是 libtesseract302 static lib 中使用 libtesseract302 lib 一切都正常 并且已编译并运行
  • 互斥体实现可以互换(独立于线程实现)

    所有互斥体实现最终都会调用相同的基本系统 硬件调用吗 这意味着它们可以互换吗 具体来说 如果我使用 gnu parallel算法 使用openmp 并且我想让他们称之为线程安全的类我可以使用boost mutex用于锁定 或者我必须编写自己
  • 读取文件特定行号的有效方法。 (奖励:Python 手册印刷错误)

    我有一个 100 GB 的文本文件 它是来自数据库的 BCP 转储 当我尝试导入它时BULK INSERT 我在第 219506324 行上收到一个神秘错误 在解决此问题之前 我想看看这一行 但可惜的是我最喜欢的方法 import line
  • 用于检查项目文件中的项目变量和引用路径的 api

    我正在研究一个 net application VS2010 与 x 没有 解和变量号这些解决方案中的项目数量 我需要检查项目属性 特定于一定数量的项目 是否同质 并且检查 验证构建期间的参考路径 有没有一个API是这样的吗 如果没有 我该
  • 未经许可更改内存值

    我有一个二维数组 当我第一次打印数组的数据时 日期打印正确 但其他时候 array last i 的数据从 i 0 到 last 1 显然是一个逻辑错误 但我不明白原因 因为我复制并粘贴了 for 语句 那么 C 更改数据吗 I use g
  • 如何将整数转换为 void 指针?

    在 C 中使用线程时 我面临警告 警告 从不同大小的整数转换为指针 代码如下 include
  • PlaySound 可在 Visual Studio 中运行,但不能在独立 exe 中运行

    我正在尝试使用 Visual Studio 在 C 中播放 wav 文件 我将文件 my wav 放入项目目录中并使用代码 PlaySound TEXT my wav NULL SND FILENAME SND SYNC 我按下播放按钮 或
  • 如何在 Blackberry Cascades 中显示具有特定号码的电话板

    我正在使用带有 C QT 和 QML 的 Blackberry Cascades 10 Beta 3 SDK 以及 Blackberry 10 Dev Alpha Simulator 和 QNX Momentics IDE 并且我正在尝试实
  • 等待线程完成

    private void button1 Click object sender EventArgs e for int i 0 i lt 15 i Thread nova new Thread Method nova Start list
  • 私有模板函数

    我有一堂课 C h class C private template
  • 如何从main方法调用业务对象类?

    我已将代码分为业务对象 访问层 如下所示 void Main Business object public class ExpenseBO public void MakeExpense ExpensePayload payload var
  • .NET中的LinkedList是循环链表吗?

    我需要一个循环链表 所以我想知道是否LinkedList是循环链表吗 每当您想要移动列表中的 下一个 块时 以循环方式使用它的快速解决方案 current current Next current List First 电流在哪里Linke
  • 如何在 C# 中调整图像大小同时保持高质量?

    我从这里找到了一篇关于图像处理的文章 http www switchonthecode com tutorials csharp tutorial image editing saving cropping and resizing htt
  • 有没有办法强制显示工具提示?

    我有一个验证字段的方法 如果无法验证 该字段将被清除并标记为红色 我还希望在框上方弹出一个工具提示 并向用户显示该值无效的消息 有没有办法做到这一点 并且可以控制工具提示显示的时间 我怎样才能让它自己弹出而不是鼠标悬停时弹出 If the
  • 检查Windows控制台中是否按下了键[重复]

    这个问题在这里已经有答案了 可能的重复 C 控制台键盘事件 https stackoverflow com questions 2067893 c console keyboard events 我希望 Windows 控制台程序在按下某个
  • 如何使用 Word Automation 获取页面范围

    如何使用办公自动化找到 Microsoft Word 中第 n 页的范围 似乎没有 getPageRange n 函数 并且不清楚它们是如何划分的 这就是您从 VBA 执行此操作的方法 转换为 Matlab COM 调用应该相当简单 Pub
  • 如何正确使用 std::condition_variable?

    我很困惑conditions variables以及如何 安全 使用它们 在我的应用程序中 我有一个创建 gui 线程的类 但是当 gui 是由 gui 线程构造时 主线程需要等待 情况与下面的函数相同 主线程创建互斥体 锁和conditi

随机推荐

  • 自定义 Flask 管理行操作

    我想在烧瓶管理列表视图上的编辑和删除图标旁边添加另一个按钮 此外 我想将该行数据作为发布请求发送到路线 我知道我必须编辑admin model list html模板 但我不知道如何添加此功能 你能提供任何指导吗 您需要为您的视图定义自定义
  • 如何使用 Typesafe Activator UI 在开发模式下运行 play 项目

    我正在使用 Typesafe Activator 1 2 10 我使用模板 play scala 中的 activator ui 创建了一个新项目 当我单击开始时 游戏正在产品模式下运行 我想在开发模式下运行它 如何使用 activator
  • 将单元格位置字符串解析为行和列

    i have string col AB21 这是 Excel 单元格位置 我想将其解析为string column AB int row 21 我怎样才能做到这一点 string col AB21 int startIndex col I
  • x86指令编码表

    我正在重写我的汇编程序 同时我也对实现反汇编感到好奇 我想让它变得简单和紧凑 并且在这样做时我可以利用一些概念 可以从操作码确定 x86 指令编码的其余部分 也许也需要前缀字节 我知道很多人都写了表格来做到这一点 我对助记符不感兴趣 而是对
  • 为什么append修改传递的切片

    我如何迭代切片并将切片传递到除当前元素之外的某个位置 似乎append 正如我们在文档中看到的那样 函数修改了底层切片 但无论如何我仍然不知道如何达到这个目标 func main args string 2 3 8 for i range
  • Pandas - Groupby 并创建新的 DataFrame?

    这就是我的情况 In 1 data Out 1 Item Type 0 Orange Edible Fruit 1 Banana Edible Fruit 2 Tomato Edible Vegetable 3 Laptop Non Edi
  • HA gearman 作业服务器的最佳实践是什么

    在 gearman 的主页上 他们提到运行多个作业服务器 因此如果一个作业服务器挂掉 客户端可以选择一个新的作业服务器 根据下面的陈述和图表 作业服务器似乎不相互通信 我们的问题是那些在死亡的作业服务器中排队的作业会发生什么 为这些服务器提
  • 不使用“if”来执行此操作 | if(s == "值1"){...} else if(s == "值2") { ...}

    根据反如果运动 http www antiifcampaign com 最佳实践是不在我们的代码中使用 if 谁能告诉我是否可以去掉这段代码中的 if 开关也不是一个选项 重点是删除条件逻辑 而不是用类似的语言结构替换 if if s fo
  • 有没有办法在 go 中将整数转换为布尔值,反之亦然?

    是否有内置方法将布尔值转换为整数 反之亦然 我尝试过正常的转换 但由于它们使用不同的基础类型 因此不可能以经典的方式进行转换 我翻了一些规范 还没有找到答案 Int 到 bool 很容易 只需x 0会成功的 反之 由于 Go 不支持三元运算
  • 如何更改节点版本? “您请求的“节点”版本“8”与您的全局版本“10”不匹配

    当我在终端 firebase 模拟器中运行时会发生这种情况 start 低于所有输出 i emulators Starting emulators functions hosting hub emulator hub started at
  • 在 YARN 上运行 Spark 应用程序,无需 Spark-submit

    我知道 Spark 应用程序可以使用 YARN 在 YARN 上执行spark submit master yarn 问题是 是否可以使用yarn在yarn上运行Spark应用程序yarn命令 如果是这样 YARN REST API 可以用
  • Android Studio 启动失败 - ClassNotFoundException:com.intellij.ide.plugins.PluginManager

    在新的 Win8 1x64 机器上安装 Android Studio 后 每当我尝试启动它时 都会出现ClassNotFoundException com intellij ide plugins PluginManager并且 Studi
  • django ModelForm save() 方法问题

    我有一个模型表格 class SnippetForm ModelForm class Meta model Snippet exclude author slug 我希望能够使用以下方法编辑特定实例 def edit snippet req
  • 无法在ubuntu 16.10上安装mongodb

    我正在尝试按照以下步骤安装 mongodbmanual https docs mongodb com manual tutorial install mongodb on ubuntu 我使用的是ubuntu 16 10 我之前已经成功安装
  • 云代工租户 - 什么?

    我读了一些关于 Cloud Foundry 的文档 但没有找到这个术语tenants 我的问题是 Org 是否是云代工厂术语中的租户 如果不是 相当于什么 可以这样做 您可以设置 CF 安装 使一个组织成为一个租户 组织的范围是这样的 组织
  • PHP PEAR Auth 会话超时

    这个问题已经快把我逼疯了 在两个独立的项目 都使用 PEAR 作为库 但编写在完全不同的自定义框架上 中 我使用 PEAR Auth 进行使用会话的身份验证 登录后 用户会在闲置的一个小时左右内注销 我没有具体的时间 但是很短 我尝试了以下
  • 模拟类和断言方法调用

    困惑于如何模拟一个类并能够断言它的方法是用一些参数调用的 当我断言调用时 我得到一个 未调用 断言 但是 我可以在mock calls属性 sandbox module py class Subject object def init se
  • 在 OSX 上的 MonoDevelop 2.2 Beta 1 中命中断点

    刚刚在 OSX Snow Leopard 上安装了 MonoDevelop 2 2 Beta 1 一切都很好 我创建了一个新的 ASP NET Web 项目并运行它 到目前为止 一切都很好 但后来我在后面的代码中放置了一个断点 但它没有命中
  • Node.js 与 mongoskin 的承诺

    我试图在进行 mongodb 查询时避免使用回调 我正在使用 mongoskin 来拨打电话 如下所示 req db collection users find toArray function err doc res json doc 在
  • 将我的类转换为 Int64、Double 等

    相关问题 不使用点运算符访问类属性 https stackoverflow com questions 9494070 accessing a class property without using dot operator 我创建了一个