SafeToPrepareAttribute 類別
在組件中標示於 ExecuteForPrepare 屬性設為 true 時可安全執行的方法。
繼承階層
Object
Attribute
Microsoft.AnalysisServices.AdomdServer.SafeToPrepareAttribute
命名空間: 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
SafeToPrepareAttribute 型別公開下列成員。
建構函式
名稱 | 說明 | |
---|---|---|
SafeToPrepareAttribute | 初始化 SafeToPrepareAttribute 類別的新執行個體。 |
回到頁首
屬性
名稱 | 說明 | |
---|---|---|
IsSafeToPrepare | 取得值,指出在 ExecuteForPrepare 屬性設為 true 時可安全執行的關聯方法。 | |
TypeId | (繼承自 Attribute。) |
回到頁首
方法
名稱 | 說明 | |
---|---|---|
{dtor} | 釋放 SafeToPrepareAttribute 使用的所有資源。 | |
Equals | (繼承自 Attribute。) | |
GetHashCode | (繼承自 Attribute。) | |
GetType | (繼承自 Object。) | |
IsDefaultAttribute | (繼承自 Attribute。) | |
Match | (繼承自 Attribute。) | |
ToString | (繼承自 Object。) |
回到頁首
明確 繼承 實作
名稱 | 說明 | |
---|---|---|
System#Runtime#InteropServices#_Attribute#GetIDsOfNames | (繼承自 Attribute。) | |
System#Runtime#InteropServices#_Attribute#GetTypeInfo | (繼承自 Attribute。) | |
System#Runtime#InteropServices#_Attribute#GetTypeInfoCount | (繼承自 Attribute。) | |
System#Runtime#InteropServices#_Attribute#Invoke | (繼承自 Attribute。) |
回到頁首
備註
如果使用者定義函數 (UDF) 傳回 DataTable,該 UDF 即應能夠透過將 ExecuteForPrepare 屬性設為 true 的執行方式來準備執行。 為了準備執行,UDF 應該判斷其所需傳回之 DataTable 的結構,並且傳回已適當地結構化的空白 DataTable。
範例
以下範例將會由一個簡單的 UDF 建立 DataTable。 如果此 UDF 在 ExecuteForPrepare 屬性設為 true 的情況下執行,則 UDF 將傳回空白版本的 DataTable。 如果此 UDF 在 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;
}
執行緒安全性
這個型別的任何公用 static (在 Visual Basic 中為 Shared) 成員都是執行緒安全的。並不是所有的執行個體成員都保證可以用於所有的執行緒。