Condividi tramite


Classe SafeToPrepareAttribute

Marks the methods in the assembly that are safe to run with the ExecuteForPrepare property set to true.

Gerarchia di ereditarietà

System. . :: . .Object
  System. . :: . .Attribute
    Microsoft.AnalysisServices.AdomdServer..::..SafeToPrepareAttribute

Spazio dei nomi  Microsoft.AnalysisServices.AdomdServer
Assembly:  msmgdsrv (in msmgdsrv.dll)

Sintassi

'Dichiarazione
Public NotInheritable Class SafeToPrepareAttribute _
    Inherits Attribute
'Utilizzo
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

Nel tipo SafeToPrepareAttribute sono esposti i membri seguenti.

Costruttori

  Nome Descrizione
Metodo pubblico SafeToPrepareAttribute Initializes a new instance of the SafeToPrepareAttribute class.

In alto

Proprietà

  Nome Descrizione
Proprietà pubblica IsSafeToPrepare Gets a value that indicates whether the associated method is safe to run with the ExecuteForPrepare property set to true.
Proprietà pubblica TypeId Ereditato da Attribute.

In alto

Metodi

  Nome Descrizione
Metodo pubblico {dtor} Releases all resources used by the SafeToPrepareAttribute.
Metodo pubblico Equals Ereditato da Attribute.
Metodo protetto Finalize Ereditato da Object.
Metodo pubblico GetHashCode Ereditato da Attribute.
Metodo pubblico GetType Ereditato da Object.
Metodo pubblico IsDefaultAttribute Ereditato da Attribute.
Metodo pubblico Match Ereditato da Attribute.
Metodo protetto MemberwiseClone Ereditato da Object.
Metodo pubblico ToString Ereditato da Object.

In alto

Implementazioni esplicite dell'interfaccia

  Nome Descrizione
Implementazione esplicita dell'interfacciaMetodo privato _Attribute. . :: . .GetIDsOfNames Ereditato da Attribute.
Implementazione esplicita dell'interfacciaMetodo privato _Attribute. . :: . .GetTypeInfo Ereditato da Attribute.
Implementazione esplicita dell'interfacciaMetodo privato _Attribute. . :: . .GetTypeInfoCount Ereditato da Attribute.
Implementazione esplicita dell'interfacciaMetodo privato _Attribute. . :: . .Invoke Ereditato da Attribute.

In alto

Osservazioni

If a user defined function (UDF) returns a DataTable, the UDF should be able to prepare for execution by running with the ExecuteForPrepare property set to true. To prepare for execution, the UDF should determine the structure of the DataTable needed to be returned, and return an empty DataTable that is structured appropriately.

Esempi

In the following example, a simple UDF creates a DataTable. If the UDF runs with the ExecuteForPrepare property set to true, the UDF returns with an empty version of the DataTable. If the UDF runs with the ExecuteForPrepare property set to false, the UDF continues, populates the DataTable, and returns the populated 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;
}

Protezione dei thread

I membri static (Shared in Visual Basic) pubblici di questo tipo sono affidabili. Non è invece garantita la sicurezza dei membri dell'istanza.