yotiky Tech Blog

とあるエンジニアの備忘録

LINQPad - 外部ファイル(cs)を参照する

目次

load ディレクティブ

#load ディレクティブを使うと、外部のファイルを参照することができる。 主な利用用途は保存しておいた .linqファイルを参照することだが、.csファイルも可能である。 LINQPad 6 以降で利用できる。

詳しくは以下のページ参照。

https://www.linqpad.net/LinqReference.aspx

クエリを参照する

#loadは、クエリの先頭に書く必要がある。

// linq拡張子はあってもなくてもOK
#load "Query1.linq"
#load "Query1"

// カレントディレクトリはMy Queriesのロケーション
// ...でMy Queriesのロケーションを直接指定もできる
#load "XML\XMLSampleQuery1"
#load ".\Query1"
#load "..\Queries\Query1"
#load "...\Query1"

// 絶対パスもOK
#load "c:\LINQPad\Queries\Query1"

非参照

ロードされる側のMainメソッドは読み込まれない。
#region private::を用いるとリージョン内の定義も無視される。

#region private::hoge
void Test()
{
    "CS0103 The name 'Test' does not exist in the current context".Dump();
}
#endregion

クラスをfileで修飾すると参照できなくできる。

file class Fuga
{
    "CS0246 The type or namespace name 'Fuga' could not be found".Dump();
}

csファイルを参照する

最大250個の.csファイルを処理できる。

#load "C:\Projects\XMLSample1\XMLSample1\Data\PurchaseOrder.cs"
// ワイルドカードが使える
#load "C:\Projects\XMLSample1\XMLSample1\Data\*.cs"
// サブディレクトリも参照できる
#load "C:\Projects\XMLSample1\XMLSample1\Data\*.cs /s"