IronPython:您使用IronPython而不是标准.NET语言(例如,C#)完成了哪些工作

Ric*_*cky 8 python ironpython

我正在学习IronPython和Python一起学习.我很好奇你倾向于使用IronPython来处理比标准.NET语言更频繁的任务.

谢谢你的任何例子.

Ric*_*ard 9

一个与IronPython完美匹配的例子是当你想在你的应用程序中包含脚本性时.我一直在研究用户可以直接通过应用内python脚本层与整个应用程序类模型交互的系统,它为高级用户提供了很大的灵活性.

一个明显的例子是,当您想在应用程序中公开"钩子"时,用户可以自定义业务规则(例如,在交易系统中创建新交易时执行自定义经纪人费用计算).

根据请求编辑:这是一个简单的(模拟)示例.当用户在系统中创建新交易时,系统会检查是否定义了以下Python函数,如果存在,交易会在将函数提交到数据库之前将该函数的结果作为费用添加到其中:

def calculate_broker_fee(trade):
    fee = 0.043 # default value
    if trade.exchange in ["SWX", "EURONEXT"] and \
        trade.instrument.instrument_type == "Bond":
        fee = trade.quantity*0.00234
    return fee
Run Code Online (Sandbox Code Playgroud)

  • 应该注意的是,与常规CPython相比,使用DotNet/DLR可以非常轻松地实现这种类型的钩子,其中基于C的API更加笨重.另一个好处是很容易为IronRuby等其他DLR语言提供支持,允许用户用他/她熟悉的语言编写自定义. (2认同)