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 继承。)

顶部

注释

如果用户定义函数 (UDF) 返回一个 DataTable,该 UDF 应可以通过在 ExecuteForPrepare 属性设置为 true 的情况下运行来为执行做好准备。 要为执行做好准备,UDF 应确定需要返回的 DataTable 结构,然后返回具有相应结构的空 DataTable。

示例

在以下示例中,使用一个简单 UDF 来创建 DataTable。 如果在 ExecuteForPrepare 属性设置为 true 的情况下运行 UDF,UDF 将返回 DataTable 的空版本。 如果在 ExecuteForPrepare 属性设置为 false 的情况下运行 UDF,UDF 将继续执行,填充 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;
}

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。不保证所有实例成员都是线程安全的。

请参阅

参考

Microsoft.AnalysisServices.AdomdServer 命名空间