共用方式為


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) 成員都是執行緒安全的。並不是所有的執行個體成員都保證可以用於所有的執行緒。

請參閱

參考

Microsoft.AnalysisServices.AdomdServer 命名空間