我正试图在放心的内部调用一个函数-主体用于发布请求,但它不起作用,而是考虑作为值:
如果我将其替换为123或其他任何编号,然后它起作用。但是,如果每次需要手动输入时,我都找不到使用放心的逻辑(即使在邮递员中,我也可以使用randomInt函数生成随机数。) 请建议有什么方法可以调用函数,因为对于我的情况,数字每次都是唯一的?
这是我的示例代码:
body("{" +
"\"OrderReferenceNumber\": \"generateRandomNumber(3)\"," +
"\"Recipient\": {" + ............so on............
"}")
**generateRandomNumber(3)** is a function which generates random no. up to 3 decimal.
答案 0 :(得分:2)
在当前的实现中,您要将函数的名称添加到主体,而不是结果。工作示例之一:
void Main()
{
var test = new myClass();
test.Num1 = 1;
test.Num2 = 2;
test.Num3 = 3;
test.Num4 = 4;
test.result1.Should().Be(3);
test.result2.Should().Be(5);
test.result3.Should().Be(6);
test.Num1 = 2;
test.result1.Should().Be(4);
test.Num2 = 0;
test.result2.Should().Be(3);
test.result3.Should().Be(4);
}
class myClass : INotifyPropertyChanged
{
// private setter since these values are only being set when the num{i} are updated
public int result1 { get; private set; }
public int result2 { get; private set; }
public int result3 { get; private set; }
public event PropertyChangedEventHandler PropertyChanged;
public myClass()
{
PropertyChanged += new PropertyChangedEventHandler(UpdateResultValue);
}
private void UpdateResultValue(object sender, PropertyChangedEventArgs e)
{
result1 = num1 + num2;
result2 = num2 + num3;
result3 = num2 + num4;
}
protected void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
protected bool SetField<T>(ref T field, T value, [CallerMemberName] string propertyName = null)
{
if (EqualityComparer<T>.Default.Equals(field, value)) return false;
field = value;
OnPropertyChanged(propertyName);
return true;
}
private int num1;
public int Num1
{
get => num1;
set => SetField(ref num1, value);
}
private int num2;
public int Num2
{
get => num2;
set => SetField(ref num2, value);
}
private int num3;
public int Num3
{
get => num3;
set => SetField(ref num3, value);
}
private int num4;
public int Num4
{
get => num4;
set => SetField(ref num4, value);
}
}