Compartir a través de


Clase SafeToPrepareAttribute

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

Jerarquía de herencia

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

Espacio de nombres:  Microsoft.AnalysisServices.AdomdServer
Ensamblado:  msmgdsrv (en msmgdsrv.dll)

Sintaxis

'Declaración
Public NotInheritable Class SafeToPrepareAttribute _
    Inherits Attribute
'Uso
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

El tipo SafeToPrepareAttribute expone los siguientes miembros.

Constructores

  Nombre Descripción
Método público SafeToPrepareAttribute Initializes a new instance of the SafeToPrepareAttribute class.

Arriba

Propiedades

  Nombre Descripción
Propiedad pública IsSafeToPrepare Gets a value that indicates whether the associated method is safe to run with the ExecuteForPrepare property set to true.
Propiedad pública TypeId (Se hereda de Attribute.)

Arriba

Métodos

  Nombre Descripción
Método público {dtor} Releases all resources used by the SafeToPrepareAttribute.
Método público Equals (Se hereda de Attribute.)
Método protegido Finalize (Se hereda de Object.)
Método público GetHashCode (Se hereda de Attribute.)
Método público GetType (Se hereda de Object.)
Método público IsDefaultAttribute (Se hereda de Attribute.)
Método público Match (Se hereda de Attribute.)
Método protegido MemberwiseClone (Se hereda de Object.)
Método público ToString (Se hereda de Object.)

Arriba

Implementaciones de interfaces explícitas

  Nombre Descripción
Implementación de interfaces explícitasMétodo privado _Attribute. . :: . .GetIDsOfNames (Se hereda de Attribute.)
Implementación de interfaces explícitasMétodo privado _Attribute. . :: . .GetTypeInfo (Se hereda de Attribute.)
Implementación de interfaces explícitasMétodo privado _Attribute. . :: . .GetTypeInfoCount (Se hereda de Attribute.)
Implementación de interfaces explícitasMétodo privado _Attribute. . :: . .Invoke (Se hereda de Attribute.)

Arriba

Comentarios

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.

Ejemplos

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;
}

Seguridad para subprocesos

Cualquier miembro público static (Shared en Visual Basic) de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.