gpt4 book ai didi

c# - 将我的类(class)转换为 Int64、Double 等

转载 作者:太空狗 更新时间:2023-10-29 21:10:04 27 4
gpt4 key购买 nike

相关问题: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 属性的存在。

最佳答案

为了使此转换生效,您需要 explicit conversion到 Int64。

这看起来像:

class MyDouble
{
double value;

public static explicit operator Int64(MyDouble value)
{
return (Int64)value.value;
}
}

关于c# - 将我的类(class)转换为 Int64、Double 等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9494871/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com