SafeToPrepareAttribute クラス
ExecuteForPrepare プロパティを true に設定して実行することのできるメソッドとして、アセンブリ内のメソッドをマークします。
名前空間: Microsoft.AnalysisServices.AdomdServer
アセンブリ: msmgdsrv (msmgdsrv.dll)
構文
'宣言
Public NotInheritable Class SafeToPrepareAttribute _
Inherits Attribute
'使用
Dim instance As SafeToPrepareAttribute
public sealed class SafeToPrepareAttribute : Attribute
public ref class SafeToPrepareAttribute sealed : public Attribute
[<SealedAttribute>]
type SafeToPrepareAttribute =
class
inherit Attribute
end
public final class SafeToPrepareAttribute extends Attribute
説明
DataTable を返すユーザー定義関数 (UDF) の場合、実行の準備 (つまり、ExecuteForPrepare プロパティを true に設定して実行) ができるようにする必要があります。UDF による実行の準備とは、具体的には、取得する DataTable の構造を確認し、適切に構築された空の DataTable を返すことをいいます。
使用例
次のコードは、DataTable を作成する単純な UDF の例です。この UDF を、ExecuteForPrepare プロパティを true に設定して実行した場合、空のバージョンの DataTable が返されます。ExecuteForPrepare プロパティを false に設定して UDF を実行した場合は、続けて DataTable にデータが取り込まれ、データの挿入された DataTable が返されることになります。
[SafeToPrepare(true)]
public System.Data.DataTable GetPreparedTable()
{
System.Data.DataTable results = new System.Data.DataTable();
results.Columns.Add("A", typeof(int));
results.Columns.Add("B", typeof(string));
if (Context.ExecuteForPrepare)
{
// If preparing, return just the schema with no data
return results;
}
//Otherwise return data
object[] row = new object[2];
row[0] = 1;
row[1] = "A";
results.Rows.Add(row);
row[0] = 2;
row[1] = "B";
results.Rows.Add(row);
return results;
}
継承階層
System. . :: . .Object
System. . :: . .Attribute
Microsoft.AnalysisServices.AdomdServer..::..SafeToPrepareAttribute
スレッド セーフ
この型の public static (Visual Basic では Shared) のメンバーはすべて、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。