C# 使用C中的RDS.DataSpace连接到业务对象#

C# 使用C中的RDS.DataSpace连接到业务对象#,c#,vba,rds,C#,Vba,Rds,是否可以使用C#完成此任务 我试过使用Activator.CreateInstance(Type.GetTypeFromProgID(“”))没有成功,此外,我想知道我可以通过另一种方式连接到我的业务对象 提前谢谢 这应该是可能的,首先您需要将Microsoft远程数据服务库添加到项目的引用中。您将在COM选项卡下找到它。然后,您可以通过以下操作创建RDS.DataSpace类: DataSpaceClass objRDS = new RDS.DataSpaceClass(); dynamic

是否可以使用C#完成此任务

我试过使用
Activator.CreateInstance(Type.GetTypeFromProgID(“”))没有成功,此外,我想知道我可以通过另一种方式连接到我的业务对象


提前谢谢

这应该是可能的,首先您需要将
Microsoft远程数据服务库
添加到项目的引用中。您将在COM选项卡下找到它。然后,您可以通过以下操作创建RDS.DataSpace类:

DataSpaceClass objRDS = new RDS.DataSpaceClass();
dynamic objCLS = objRDS.CreateObject("MY_System", "http://myserver");
dynamic listNames = objCLS.LstOBSReasons("databaseserver", "databasename", 5);

唯一棘手的部分是您可能无法通过动态调用调用结果对象(我假设您使用的是C#4)。如果不能,则还需要导入业务对象的类型。例如,有关实现COM互操作的更多信息,请查看类似的内容。

太好了!,事实上,我正在使用C#3.0。我该怎么处理?请注意,不能使用dynamicYou将需要找到您正在使用的接口,参考该文章实现它,然后您可以将CreateObject返回的对象强制转换到该接口中。如果您有一个用于业务对象的类型库,那么您应该能够将其作为VisualStudio本身的引用加载到中,并且它将为您(或者有)完成所有这些工作,而VisualStudio也会这样做。
DataSpaceClass objRDS = new RDS.DataSpaceClass();
dynamic objCLS = objRDS.CreateObject("MY_System", "http://myserver");
dynamic listNames = objCLS.LstOBSReasons("databaseserver", "databasename", 5);