Класс 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.)

В начало

Замечания

Если определяемая пользователем функция возвращает значение DataTable, то для подготовки выполнения этой определяемой пользователем функции свойству ExecuteForPrepare необходимо задать значение true. Чтобы подготовиться к выполнению, определяемая пользователем функция должна определить структуру таблицы DataTable, которая должна быть возвращена, и возвратить пустую DataTable, структурированную соответствующим образом.

Примеры

В следующем примере простая определяемая пользователем функция создает DataTable. Если определяемая пользователем функция выполняется, когда свойству ExecuteForPrepare задано значение true, то она возвращает пустую версию DataTable. Если определяемая пользователем функция выполняется, когда свойству ExecuteForPrepare задано значение false, то она продолжит работу, заполнит 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;
}

Безопасность многопоточности

Любые открытые статический (Shared в Visual Basic) элементы этого типа потокобезопасны. Потокобезопасность с элементами экземпляров не гарантируется.

См. также

Справочник

Пространство имен Microsoft.AnalysisServices.AdomdServer