Classe SafeToPrepareAttribute
Marca os métodos no assembly que estão seguros para execução com a propriedade de ExecuteForPrepare definida como true.
Hierarquia de herança
Object
Attribute
Microsoft.AnalysisServices.AdomdServer.SafeToPrepareAttribute
Namespace: Microsoft.AnalysisServices.AdomdServer
Assembly: msmgdsrv (em msmgdsrv.dll)
Sintaxe
'Declaração
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
O tipo SafeToPrepareAttribute expõe os membros a seguir.
Construtores
Nome | Descrição | |
---|---|---|
SafeToPrepareAttribute | Inicializa uma nova instância da classe SafeToPrepareAttribute. |
Início
Propriedades
Nome | Descrição | |
---|---|---|
IsSafeToPrepare | Obtém um valor que indica se o método associado é seguro para execução com a propriedade ExecuteForPrepare definida como true. | |
TypeId | (Herdado de Attribute.) |
Início
Métodos
Nome | Descrição | |
---|---|---|
{dtor} | Libera todos os recursos usados por SafeToPrepareAttribute. | |
Equals | (Herdado de Attribute.) | |
GetHashCode | (Herdado de Attribute.) | |
GetType | (Herdado de Object.) | |
IsDefaultAttribute | (Herdado de Attribute.) | |
Match | (Herdado de Attribute.) | |
ToString | (Herdado de Object.) |
Início
Implementações de interfaces explícitas
Nome | Descrição | |
---|---|---|
System#Runtime#InteropServices#_Attribute#GetIDsOfNames | (Herdado de Attribute.) | |
System#Runtime#InteropServices#_Attribute#GetTypeInfo | (Herdado de Attribute.) | |
System#Runtime#InteropServices#_Attribute#GetTypeInfoCount | (Herdado de Attribute.) | |
System#Runtime#InteropServices#_Attribute#Invoke | (Herdado de Attribute.) |
Início
Comentários
Se uma função definida pelo usuário (UDF) retornar DataTable, a UDF deverá ser capaz de preparar a execução com a propriedade ExecuteForPrepare definida como true. Para preparar a execução, a UDF deve determinar a estrutura de DataTable que precisa ser retornada e retornar uma DataTable vazia que esteja devidamente estruturada.
Exemplos
No exemplo a seguir, uma UDF simples cria uma DataTable. Se uma UDF for executada com a propriedade ExecuteForPrepare definida como true, a UDF retornará com uma versão vazia de DataTable. Se uma UDF for executada com a propriedade ExecuteForPrepare definida como false, a UDF continuará populando DataTable e retornará DataTable populada.
[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;
}
Segurança de thread
Qualquer membro público static (Shared no Visual Basic) desse tipo é seguro para threads. Não há garantia de que qualquer membro de instância seja seguro para threads.