Classe SafeToPrepareAttribute
Marque les méthodes dans l'assembly qui sont sécurisées pour s'exécuter avec la propriété ExecuteForPrepare définie avec la valeur True.
Hiérarchie d'héritage
Object
Attribute
Microsoft.AnalysisServices.AdomdServer.SafeToPrepareAttribute
Espace de noms : Microsoft.AnalysisServices.AdomdServer
Assembly : msmgdsrv (en msmgdsrv.dll)
Syntaxe
'Déclaration
Public NotInheritable Class SafeToPrepareAttribute _
Inherits Attribute
'Utilisation
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
Le type SafeToPrepareAttribute expose les membres suivants.
Constructeurs
Nom | Description | |
---|---|---|
SafeToPrepareAttribute | Initialise une nouvelle instance de la classe SafeToPrepareAttribute. |
Haut
Propriétés
Nom | Description | |
---|---|---|
IsSafeToPrepare | Obtient une valeur qui indique si la méthode associée est sécurisée pour s'exécuter avec la propriété ExecuteForPrepare définie avec la valeur true. | |
TypeId | (hérité de Attribute.) |
Haut
Méthodes
Nom | Description | |
---|---|---|
{dtor} | Libère toutes les ressources utilisées par SafeToPrepareAttribute. | |
Equals | (hérité de Attribute.) | |
GetHashCode | (hérité de Attribute.) | |
GetType | (hérité de Object.) | |
IsDefaultAttribute | (hérité de Attribute.) | |
Match | (hérité de Attribute.) | |
ToString | (hérité de Object.) |
Haut
Implémentations d'interfaces explicites
Nom | Description | |
---|---|---|
System#Runtime#InteropServices#_Attribute#GetIDsOfNames | (hérité de Attribute.) | |
System#Runtime#InteropServices#_Attribute#GetTypeInfo | (hérité de Attribute.) | |
System#Runtime#InteropServices#_Attribute#GetTypeInfoCount | (hérité de Attribute.) | |
System#Runtime#InteropServices#_Attribute#Invoke | (hérité de Attribute.) |
Haut
Notes
Si une fonction définie par l'utilisateur (UDF) retourne un DataTable, elle doit pouvoir préparer l'exécution avec la propriété ExecuteForPrepare définie sur true. Pour préparer l'exécution, l'UDF doit déterminer la structure du DataTable nécessaire pour être retournée, puis retourner un DataTable vide structuré correctement.
Exemples
Dans l'exemple suivant, une UDF simple crée un DataTable. Si l'UDF s'exécute avec la propriété ExecuteForPrepare définie sur true, elle retourne une version vide du DataTable. Si l'UDF s'exécute avec la propriété ExecuteForPrepare définie sur false, l'UDF poursuit, remplit le DataTable et retourne le DataTable rempli.
[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;
}
Sécurité des threads
Tous les membres publics static (Shared dans Visual Basic) de ce type sont thread-safe. Tous les membres de l'instance ne sont pas garantis comme étant thread-safe.