問題タブ [roslyn]
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# - プロジェクトにドキュメントを追加する
私はroslyn ctp2を実行しています
プロジェクトに新しい html ファイルを追加しようとしています
この結果、変更は書き込まれません。新しいhtmlファイルをVSに表示しようとしています
c# - Roslyn を使用して特定の場所にクラス メンバーを追加しますか?
ClassDeclarationSyntax.AddMembers メソッドを使用してクラスにプライベート フィールドを追加しています。フィールドはクラスに表示されますが、フィールドを特定の場所に追加する方法を知りたいです。現時点では、コード生成の実行時にたまたま true と評価される #if ディレクティブ内のクラスの最後に追加されています。
コードの実行:
これは次のようになります。
そして、私はこの結果を得たいと思います:
visual-studio - Roslyn のダイアログ ウィンドウ
Visual Studio で Roslyn を使用して名前変更リファクタリングを実装したいと考えています。これを行うには、選択した変数に付ける名前をユーザーに入力してもらいます。ユーザーにテキストを書くように促すにはどうすればよいですか? 入力を含むダイアログ ウィンドウを表示する方法はありますか?
c# - 複数行のラムダの式ツリーを作成する Roslyn 流暢な構文
ビルド時に指定された複数行のラムダを式ツリーに書き換えることでCS0834を根絶しようとする Roslyn ベースのカスタム ツールを作成しています。
編集:現時点では、匿名の複数行ラムダのみを対象としています。
例えば:
に
したがって、正しくコンパイルされます。与えられたコードを変換するために必要な Expression.(blah) 構文を理解することはできますが、Roslyn を使用してそれを行うことはまったく別の問題です。おそらく、私は Roslyn Syntax.(blah) API をよく知らないだけで、この生のラムダを変換することができません。
以下のような式ツリーを生成する Roslyn Syntax.(blah) 構文を書くのを誰か手伝ってくれませんか?
出発点ができたら、このプロジェクトで単純なケースを理解するか、少なくとも翻訳を開始できるはずです。
どうもありがとう、あなたの助けは大歓迎です。
c# - どのSemanticModelインスタンスがExpressionSyntaxを解決するかを決定する方法
私が呼び出すExpressionSyntaxインスタンスのターゲットを見つけるために、mySemanticModel.GetSymbolInfo(myExpressionSyntax).
それぞれがコードファイルの構文ツリーに関連するいくつかのSemanticModelインスタンスがあります。
セマンティックモデルを繰り返し、シンボル情報を返すための適切なモデルを見つけたいのですが、例外を使用せずに適切なセマンティックモデルをテストする方法がわかりません。
次のコードを完成させる必要があります。
c# - Roslyn スクリプティング
こんにちは、アプリでスクリプトを作成するために Roslyn を使用したいと考えています。しかし、私は新しい (9 月) バージョンを持っていて、混乱しています。単純な関数でファイルを実行したい。例えば:
acticleなど、それに関する記事をいくつか見つけました。それを行う方法はいくつかありますが、私のバージョンではそうではありませんSession.Create()
。IronPython スクリプトのように使用したいと考えています。
何かのようなもの:
また
ダイナミック d = callFunction(m);
可能ですか、それとも IronPython スクリプトを使用する必要がありますか?
c# - Roslynスクリプトエンジンからのアセンブリ内のメンバーへのアクセスを制限するにはどうすればよいですか?
Roslynスクリプトエンジンを試しています。次のコードを使用して、スクリプトエンジンをセットアップしました。
次に、次の行でスクリプトを実行します。
スクリプトには、アセンブリ内のクラスの静的関数への非常に単純な参照が含まれています。
出力ウィンドウでは、関数は単にコンソールに出力します。そのため、スクリプトエンジンに「HostObjectModel」を渡さなくても、アセンブリのパブリック静的メンバーを呼び出すことができることを示しました。これを防ぎたい。スクリプトエンジンからアクセスできる特定のメンバー(関数、変数、またはプロパティ)のみを登録し、他のメンバーは登録できないようにしたいと思います。
これを達成する方法はありますか?
c# - Roslynでメソッドのrefまたはoutを使用せずに、名前付き引数を作成するにはどうすればよいですか?
コンストラクターの名前付き引数を作成するときに、使用可能なコンストラクターだけが。を要求するという問題が発生していますrefOrOutKeyword
SyntaxToken
。合格null
は許可されておらず、さらにSyntax.ParseToken("")
失敗します。Syntax.Token(SyntaxKind.RefKeyword)
および:Syntax.Token(SyntaxKind.OutKeyword)
のいずれref
かを挿入するため、どちらも不適切です。out
名前付き引数を作成する方法を説明するための適切なドキュメントも見つかりませんでした。
c# - インテリセンスを備えた組み込みの C#/VB.Net エディター - Roslyn、VSTA、またはその他のもの?
アプリケーション内にスクリプト機能を提供し、顧客がオブジェクト モデルを使用してその機能を拡張できるようにする必要があります。IntelliSense を備えたある種の統合 C#/VB.Net エディターを提供したいと考えていましたが、AvalonEdit や ScintillaNet などの製品を調べたところ、真のコード補完を提供しているようには見えず、独自のリストを提供できる API にすぎません。ポップアップ オートコンプリート リストに表示されるアイテムの数。
したがって、Roslyn がそのような機能を提供するかどうか疑問に思っていましたか? 私が遭遇したチュートリアルと例から、Roslyn は実際には単なるコンパイラ サービスであるように見えます。
最後の手段として、顧客は VS Express のようなものを使用できますが、統合されたエディターの方が明らかに少し優れています。
(Visual Studio Tools for Applications にも出くわしましたが、これは有望に思えましたが、オンライン リソースは数年前のものであり、ドキュメントやチュートリアルが存在しないため、これについては空白にしました)。
c# - asp.net の実装の背後にあるコードを変更する方法
asp.net の動的コード ジェネレーターとして roslyn フレームワークの実装の可能性を探っています。これまでのところ、それは素晴らしいようです。現時点では、asp.net ページ (Web アプリケーション) の実装の背後にあるコードの生成に行き詰まっています。page.design.cs と page.aspx.cs コードの両方を含むアセンブリを作成できましたが、結果を既存の .aspx ページにリンクする方法がわかりません (コードを設定すると、このシナリオはうまくいきました)私のプロジェクト内の(1つの)別のクラスの背後にあり、Inherit
属性にnamespace.class_nameを設定しました)。私は変更しましたInhertit
roslyn コード生成の結果であるクラスを指す属性。ただし、.aspx ページはコンパイル時にコード ビハインド インスタンスが利用可能であることを期待しているため (推測)、これは機能していないようですが、実行時にこの定義を提供しようとしています。
.aspx を騙して、実行時に提供できるコードビハインド定義があると思わせる方法はありますか? また、カスタム コードビハインド クラスを .aspx ページにリンクするにはどうすればよいですか?
よろしくお願いします。