如何只允许任何方法的参数值大于零?

问题描述

我尝试限制我的方法,以便某些输入参数只允许大于零的数字。我想过创建自己的类,但是为每个方法调用生成一个对象对我来说似乎无效。愚蠢的示例方法

public class Whatever
{
  public uint Num1 { get; }
  public double Num2 { get; }

  public Whatever (uint num1,double num2) {
    Num1 = num1;
    Num2 = num2;
  }

  public double SillyDivide() {
    var result1 = Num1 / Num2;
    var result2 = Num2 / Num1;
    return result1 + result2;
  }
}

显然,我尽量避免被零除,只允许数字大于零或不等于零。实现此目的的最佳方法是什么?

我找到了一个问答 here 并尝试实施它,但没有任何区别:

public class Whatever
{
  [required]
  [Range(1,uint.MaxValue)]
  public uint Num1 { get; }

  [required]
  [Range(double.Epsilon,double.MaxValue)]
  public double Num2 { get; }

  public Whatever (uint num1,double num2) {
    Num1 = num1;
    Num2 = num2;
  }

  public double SillyDivide() {
    var result1 = Num1 / Num2;
    var result2 = Num2 / Num1;
    return result1 + result2;
  }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)