分别用券商交易接口股票,接口和委托2种方式,实现同一个小例子,对比券商交易接口股票,接口与委托.
题目:从2个数中输出较大的数.
一.接口方式实现:
定义接口
interface IRule
{
bool Greater(int x, int y);
}
接口实现
class GreaterRule : IRule
{
public bool Greater(int x, int y)
{
return x > y;
}
}
定义比较大小的函数,函数中将接口作为参数
int PickOne(int a, int b, IRule rule)
{
if (rule.Greater(a, b))
return a;
else
return b;
}
执行比较大小的函数
var rule = new GreaterRule();
PickOne(20, 10, rule).Dump();
输出结果为20
二.委托方式实现:
声明委托
delegate bool RuleDelegate(int x, int y);
与委托相同签名的实现
bool GreaterCallback(int x, int y)
{
return x>y;
}
定义比较大小的函数,函数中将委托作为参数
int PickOne(int a, int b, RuleDelegate rule)
{
if (rule.Invoke(a, b))
return a;
else
return b;
}
执行比较大小的函数
PickOne(20, 10, GreaterCallback).Dump();
文章为作者独立观点,不代表股票交易接口观点