0

簡単にカスタマイズできるスクリプト言語を探しています。

私は独自の小さな XML ベースの言語を構築しましたが、このソリューションにはあまり満足していません。

<ScrArp>
    <StaticClass Name="Root">
        <Method Return="Void" Name="Main">
            <Call Method="Print" Text="Hello World" />

            <Declare Type="SampleClass" Name="myInstance">
                <Set>
                    <NewInstance Type="SimpleClass" />
                </Set>
            </Declare>

            <Call Text="Hello 123">
                <Instance Name="myInstance">
                    <!-- <Instance Name="mySample2..."> -->
                    <Method Name="TestMethod" />
                    <!-- </Instance> -->
                </Instance>
            </Call>
        </Method>
    </StaticClass>

    <Class Name="SampleClass">
        <Method Return="Void" Name="TestMethod">
            <Parameter>
                <Declare Type="String" Name="Text" />
            <Parameter>
            <Call Method="Print">
                <Text>
                    <Get Name="Text" />
                </Text>
            </Call>
        </Method>

        <Method Return="String" Name="Method2">
            <Declare Type="String" Name="cReturnValue" />

            <Set>
                <Instance Name="cReturnValue" />
                <Value>
                    <Call>
                        <Instance Name="cReturnValue" />
                    </Call>
                <Value>
            </Set>

            <Return>
                <Instance Name="cReturnValue" />
            <Return>
        </Method>
    </Class>
</ScrArp>

以前に Lua と IronPython を使用したことがありますが、Lua はあまり好きではありません。私が知る限り、IronPython はコミュニティでのみサポートされています。

今私の質問。C# でスクリプトを作成するための最適なソリューションはどれですか? - IronPython - Lua - 自分の小さな言語?

ありがとう!

4

2 に答える 2

1

C# を使用して、アプリケーション内からコードをコンパイルしたり、式を評価したりしながら、アプリケーションに機能を追加できます。これは、コミュニティがサポートするコンポーネントに依存せずに .NET フレームワークを使用して実現できますが、独自のコードを作成することを選択した場合に学習できるコミュニティがサポートするライブラリがあります。

アプリケーションからコンパイルする方法に関する記事は次のとおりです: http://www.codeproject.com/Articles/9019/Compiling-and-Executing-Code-at-Runtime

実行時に式を評価するために利用できる C# Eval ライブラリもあります: http://csharp-eval.com/HowTo.php

于 2013-09-07T08:21:01.280 に答える