ForEachEnumeratorHost.InnerObject 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回宿主的内对象,即 ForEachEnumerator 被宿主的 。
public:
property System::Object ^ InnerObject { System::Object ^ get(); };
public object InnerObject { get; }
member this.InnerObject : obj
Public ReadOnly Property InnerObject As Object
属性值
对象。
实现
示例
创建了多个类,由 ForEachEnumeratorHost。 以下代码示例展示了当前应用可用的枚举器,如何在宿主对象内创建枚 ForEachSMOEnumerator 举器,然后将其转换为 InnerObject 特定的枚举器类型。
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime.Enumerators.SMO;
using Microsoft.SqlServer.Dts.Runtime;
namespace Microsoft.SqlServer.SSIS.Samples
{
internal class EnumType
{
public const string SMOEnum = "Foreach SMO Enumerator";
}
class Program
{
static void Main(string[] args)
{
Application app = new Application();
ForEachEnumeratorInfos infos = app.ForEachEnumeratorInfos;
ForEachEnumeratorInfo info = null;
foreach (ForEachEnumeratorInfo enumInfo in infos)
{
Console.Write("Available enumerators: {0}\n", enumInfo.Name);
// When the SMO enumerator is found, set the info variable.
if (enumInfo.Name == EnumType.SMOEnum)
{
info = enumInfo;
}
}
ForEachEnumeratorHost enumH = info.CreateNew();
Console.WriteLine("SMO Enumerator: " + enumH.InnerObject.ToString());
ForEachSMOEnumerator smoEnumerator = (ForEachSMOEnumerator)enumH.InnerObject;
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SqlServer.Dts.Runtime.Enumerators.SMO
Imports Microsoft.SqlServer.Dts.Runtime
Namespace Microsoft.SqlServer.SSIS.Samples
Friend Class EnumType
Public const String SMOEnum = "Foreach SMO Enumerator"
End Class
Class Program
Shared Sub Main(ByVal args() As String)
Dim app As Application = New Application()
Dim infos As ForEachEnumeratorInfos = app.ForEachEnumeratorInfos
Dim info As ForEachEnumeratorInfo = Nothing
Dim EnumInfo As ForEachEnumeratorInfo
Dim enumInfo As ForEachEnumeratorInfo
End Enum
For Each EnumInfo In infos
For Each EnumInfo In infos Console.Write("Available enumerators: {0}\n" EnumInfo.Name) End Enum
For Each enumInfo In infos
Console.Write("Available enumerators: {0}\n" enumInfo.Name)
End Enum
End Enum
' When the SMO enumerator is found, set the info variable.
If EnumInfo.Name = EnumType.SMOEnum Then
Dim EnumInfo.Name As If = EnumType.SMOEnum Then info = EnumInfo End Enum
If enumInfo.Name = EnumType.SMOEnum Then
info = enumInfo
End Enum
End Enum
End If
Next
Dim EnumH As ForEachEnumeratorHost = info.CreateNew()
Dim enumH As ForEachEnumeratorHost = info.CreateNew()
End Enum
Console.WriteLine("SMO Enumerator: " + EnumH.InnerObject.ToString())
Console.WriteLine("SMO Enumerator: " + enumH.InnerObject.ToString())
End Enum
Dim smoEnumerator As ForEachSMOEnumerator = CType(EnumH.InnerObject, ForEachSMOEnumerator)
Dim smoEnumerator As ForEachSMOEnumerator = CType(enumH.InnerObject, ForEachSMOEnumerator)
End Enum
End Sub
End Class
End Namespace
示例输出:
可用枚举器:Foreach File Enumerator
可用枚举器:每个项目枚举员
可用普查员:Foreach ADO 普查员
可用枚举器:Foreach ADO.NET Schema 行集枚举器
可用枚举器:Foreach From Variable Enumerator
可用枚举器:Foreach NodeList 枚举器
可用普查员:每个SMO普查员
SMO Enumerator:Microsoft。SqlServer.Dts.Runtime.Enumerators.SMO.ForEachSMOEnumerator
SMO。EnumURN = RuntimeServer[@Variable='MachineName']/Server[@Name='localhost']/SMOEnumObj[@Name='Databases']/SMOEnumType[@Name='Names']