如何将运算符函数添加到主数据类型c#

时间:2018-04-13 11:48:35

标签: c# operator-overloading operators primitive-types

所以我想要做的是将一个运算符添加到原始数据类型,其工作方式如下。

int m_number = 10;
m_number.CheckCondition (1,10);

功能CheckCondition就像这样工作

public bool CheckCondition (<The m_number variable>,int t_lower,int t_upper);

现在我可能在这方面有误,但我想我记得看过这样做的方法但是再也找不到它的位置:( m_number变量)类似于

this <Word I Forgot> m_number

作为第一个参数。

有谁知道这是否可能,如果是的话,我必须做什么。

提前致谢。

1 个答案:

答案 0 :(得分:4)

您正在寻找extensions。你可以像那样创建它

public static class MyExtensions
{
    public static bool IsBetween(this int i, int lower, int upper)
    {
        return lower < i && upper > i;
    }
}

然后在任何int上使用它:

bool check = 1.IsBetween(0, 10);

请注意,由于int类型,因此您无法对其进行更改(例如在i.ChangeSign()中更改i的实际值)。如果需要,您只能返回更改的值。