【问题标题】:calling Extention Method with 'this double' in C#在 C# 中使用“this double”调用扩展方法
【发布时间】:2015-04-10 12:01:22
【问题描述】:

我将字符串转换为代码,以便使用代码 dom 进行运行时编译, 所以在我设法编写更复杂的代码来生成正确的字符串之前,我真的需要知道是否可以使用“this double”调用静态方法

我有方法

public static double Test(this double x)
{
   //some code here...
}

我想这样称呼它

double d = 5.Test();//Compiler Error: Cannot resolve symbol Test

我知道这对于字符串是可能的,但我不能对双精度做同样的事情。 我怎样才能做到这一点 如果它不可能,为什么它可能是字符串? 感谢您的帮助。

【问题讨论】:

  • 5 是一个整数。使用5.0
  • 5 没有double 类型,它有int 类型。使用double 实际尝试时遇到什么错误(如果有)?
  • 哦,谢谢。我没有注意到 5 是整数 ...使用 ((double)5) 解决的问题也 5.0 运行良好。 tnx

标签: c# double call this extension-methods


【解决方案1】:

将您的 5 声明为双精度数,现在它是一个整数。

double d = 5D.Test();

Here's C# 使用的数字后缀列表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-23
    相关资源
    最近更新 更多