問題タブ [dynamic-language-runtime]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - .Net 3.5DLRDynamicObjectヘルプ
.NET3.5で動作する単純なDynamicObjectの例を取得するのに苦労しています。
コードプレックスから離れたDLRの最新ビルドを使用して、以下に相当する.NET3.5が何であるかを理解できませんでした。
もちろん、これは単純化された例です。DynamicObjectからクラスを派生させる予定なので、直接オブジェクトプロパティと、同じセマンティックドットスタイル表記またはアクセスメソッドを使用してディクショナリに格納されているプロパティの両方を使用できます。目標は、DLRがサポートされる言語で使用するためのDLR互換オブジェクトを用意し、アプリケーションを.NET 4.0にアップグレードできる場合に、.NET4.0DLR機能との将来の互換性を提供することです。
私の問題は、.NET4.0より前の動的キーワードに相当する概念がないことです。TryGetMemberなどのメソッドには、GetMemberBinderなどのバインダーパラメーターがあります。現在、.NET 4.0にはC#のデフォルトのバインダーがあり、dynamicキーワードを使用するとバインディングを実行できますが、.NET3.5で同等の機能を実行する方法を見つけることも決定することもできません。
現時点では、.NET 4.0のデフォルトのC#バインダーで使用可能なロジックのタイプを基本的に複製するカスタムバインダーを作成する必要があることを理解しています。
誰かが私に.NET3.5でDynamicObjectを使用し、動的キーワードにアクセスせずに実行時にプロパティなどを追加する方法について正しい方向を示してください。
参照:
動的オブジェクトへのメンバーの動的な追加
http://tomlev2.wordpress.com/2009/10/08/c-4-0-implementing-a-custom-dynamic-object/
c# - 最小限のセキュリティコンテキストでのDLR埋め込みスクリプトの実行
私は正しい方向に向けられる必要があります。Iron Pythonスクリプトホストを単純なC#アプリケーションに埋め込みましたが、ユーザーが生成したIronPythonまたはIronRubyスクリプトのセキュリティをロックダウンするためのベストプラクティスを知る必要があります。
具体的には、ライブラリのインポートを防ぐための戦略は何ですか。また、.NETには、ファイルシステムへのアクセスを防ぐなど、別のセキュリティコンテキストでコードのブロックまたはスレッドを実行する方法がありませんか。また、このコンテキストには、実際のユーザーではなく、組み込みのレベルまたはロールを割り当てることができますか?
ありがとう!
c# - DLR API を使用して IronRuby スクリプトから標準出力をキャプチャする
私は非常に単純な test.rb ファイルを持っています:
このファイルを c# 内で実行したい、例えば:
「Hello World」をキャプチャするにはどうすればよいですか?
c#-4.0 - 'dynamic' キーワードと DLR は、C# を動的型付け言語としての第一級市民に昇格させますか?
C# 4.0 の新しい 'dynamic' キーワードは、動的 .NET 言語とのやり取りを容易にし、リフレクションの代わりに使用することでコードを削減できることを理解しています。そのため、使用法は非常に特定の状況向けです。
ただし、IronXXX 言語などの他の動的言語で得られるすべての動的な利点を C# に与えるかどうかを知りたいですか? つまり、アプリケーション全体を C# で動的言語スタイルで作成することは可能でしょうか?
また、可能であれば、推奨されますか。そして、それぞれなぜ、またはなぜそうではないのですか?
別の言語に切り替えなくても、動的言語の利点をすべて享受できますか?
.net - Ironpython-コンストラクターへの名前付きパラメーター
コンストラクターに名前付きパラメーターを使用してIronPythonでC#クラスのインスタンスを作成すると、パラメーターの名前に対応するプロパティが設定されます。この動作を無効にして、プロパティが評価される順序をより適切に制御できるようにしたいと思います。
これは可能ですか?
open-source - 「シェル」の役割/責任は何ですか?
IronPythonプロジェクトとOrchard CMSプロジェクトのソース コードを見てきました。IronPython は、Microsoft.Scripting.Hosting.Shell ( DLRの一部) という名前空間で動作します。オーチャード プロジェクトは、さまざまなインターフェイス (IShellContainerFactory、IShellSettings) で間接的に「シェル」の概念を使用して動作します。
上記のプロジェクトはどれも詳細なドキュメントを持っていないため、ソース コードを読んでアプリケーションの全体的な構造/アーキテクチャを理解しようとしている場合、その名前から型 (クラスなど) の意味を理解することは非常に重要です。
このソース コードの作成者は、「シェル」について言及するときに何を念頭に置いているのでしょうか。「シェル」という言葉を聞くと、コマンド ライン インタープリターのようなものを思い浮かべます。IronPython には対話型インタープリターがあるため、これは理にかなっています。しかし、私にとっては、Web CMS に関してはあまり意味がありません。
「シェル」と呼ばれるものに遭遇したとき、私は何を考えるべきですか?一般的に言えば、「シェル」の役割と責任は何ですか? その質問に答えることさえできますか?「シェル」の意味は主観的ですか (用語を役に立たなくしています)?
ありがとう。
c# - IronPythonが__setattr__と__getattr__をオーバーライドします
Pythonの__setattr__および__getattr__マジックメソッドをインターセプトするメソッドを使用して、C#でクラスを実装しようとしています。私はこのバグレポートを見つけました:
http://ironpython.codeplex.com/WorkItem/View.aspx?WorkItemId=8143
しかし、それは2008年のものであり、ICustomAttributesまたはPythonNameAttributeはどこにも見つかりません。Interfaces.csでも有用なものは何も見当たりません。誰かが私を正しい方向に向けることができますか?
c# - IronRubyの式メソッドにアクセスする
このコードはC#で正常に機能します。
しかし、ASTを構築するための方法はどれもIronRubyからは見えないようです。Microsoft.Scripting.CoreおよびMicrosoft.Scriptingライブラリが必要でした。他に何か必要ですか?IronRubyのコードは次のとおりです。
与える:
c# - .NET 3.5 Web サイト プロジェクトで DLR を使用することは可能ですか?
データベースに保存されている式を評価しようとしています。
自分で解析するのではなく、DLR を使用しようとしています。Codeplex リポジトリのバージョン .92 を使用しており、ソリューションは .NET 3.5 Web サイトです。System.Core と Microsoft.Scripting.ExtenstionAttribute .dll の間で競合が発生しています。
現時点では、.NET 4.0 にアップグレードして .net 3.5 の機能を十分に活用することはできません (したがって、ダウングレードはオプションではありません)。
どんな助けでも大歓迎です。
c# - DynamicObject と WCF のサポート
DynamicObject をシリアル化して WCF で動作させることができた人がいるかどうか疑問に思っていましたか?
これが私の小さなテストです:
私が得るエラーは次のとおりです。
System.Runtime.Serialization.InvalidDataContractException が処理されませんでした Message=Type 'ElasticTest1.MyDynamicObject' は、DataContractAttribute または SerializableAttribute でマークされていない型から継承できません。基本型 'System.Dynamic.DynamicObject' を DataContractAttribute または SerializableAttribute でマークするか、派生型からそれらを削除することを検討してください。
助言がありますか?