CA 2225,同时重载长运算符

本文关键字:重载 运算符 2225 CA | 更新日期: 2023-09-27 18:22:10

我正在尝试重载long运算符。

public static implicit operator long (Abc abc)
{
      .....
}

代码分析给出了CA2225。

操作员重载已命名备用。提供一个名为的方法"ToXXX"或"FromXXX"作为运算符"FileTime.implicit"的替代项operator long(FileTime)'。

有人能帮忙吗?

CA 2225,同时重载长运算符

正如我在PSR答案下的评论中提到的,您需要添加一个静态方法ToLong,而不是另一个隐式运算符。

public static long ToLong(Abc abc)
{
   // Logic for converting Abc to long here.
}

将此方法与隐式运算符一起添加将解决您的警告。

将此方法与方法一起添加到类中。

public static implicit operator long(Abc abc){ }
public static implicit operator Tolong(Abc abc){ }