首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以在脚本语言中流水线传输.NET方法

问是否可以在脚本语言中流水线传输.NET方法
EN

Stack Overflow用户
提问于 2012-08-30 07:42:59
回答 3查看 183关注 0票数 0

我想知道是否有什么语言特性/库/工具/技术可以用来在脚本环境中的管道中调用.NET/C#“函数”?例如,我有

代码语言:javascript
复制
public interface IFoo
{
    ...
}

public interface IBar
{
    IFoo Load(string fileName);
    IFoo Replace(string oldValue, string newValue);
    void Save(string fileName);
}

然后使用适当的Main()将它们包装在util.exe中。现在,我想像使用管道DOS命令一样使用它们:

代码语言:javascript
复制
util.exe -load in.txt | util.exe -replace x y | util.exe -save output.txt

有可能吗?是否对IFoo有任何限制,因为它可以是复杂的数据结构,不能很容易地序列化为ASCII字符串。去那里的方法是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-08-30 09:08:18

PowerShell是一个非常好的选择。

首先,您可以直接调用任何已编译的代码,因此,如果您不想在C#中创建实际的cmdlet,您可以用PowerShell编写调用代码,并使用它的所有管道管道在步骤之间传递数据。

即调用Ping.Send:

代码语言:javascript
复制
$ping = New-Object System.Net.NetworkInformation.Ping
$ping.send("localhost")

您还可以为更好的PowerShell代码和更好的控制实现CmdLets -示例http://www.codeproject.com/Articles/32999/How-to-Write-a-Custom-PowerShell-Cmdlet-Part-I

票数 2
EN

Stack Overflow用户

发布于 2012-08-30 07:49:03

一个不错的选择是C#脚本

http://www.csscript.net/

这允许您从脚本环境中调用任何.NET程序集,其中脚本环境的语言是C#。

ECMA Script是一个基于公共语言运行库的脚本系统,它使用符合

标准的C#作为编程语言。CS-Script目前面向微软的CLR2.0/3.0/3.5/4.0实现,完全支持.NET。

票数 1
EN

Stack Overflow用户

发布于 2021-05-08 03:37:35

您也可以使用F#来实现这一点。您可以使用pipes and function composition进行顺序数据处理,并且它是一种.NET语言,因此您可以直接引用C#和VB对象。它既可以在scripts中使用,也可以在REPL提示符中使用,默认情况下,解释器包含在.NET SDK中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12188021

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档