首页 > 解决方案 > 如何在任何地方的自动化中捕获来自 DLL(C#) 的对象返回?

问题描述

我想创建元机器人来获取学生的姓名和年龄作为学生对象。我在类库中的方法返回学生类型对象。在任何地方的自动化中,只有少数数据类型作为输出(值、数组、密码)。如果您对在任何地方的自动化中捕获此类对象有任何想法,请告诉我。

这是对象类

using System;

namespace TestAADLL
{
    public class Student
    {
        public string name;
        public int age;
        public Student(string n,int a)
        {
           name = n;
           age = a;
        }
    }
}

这是使用此对象类并返回实例的类。我想在任何地方使用自动化数据类型来捕获该返回对象。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace TestAADLL
{
    public class Class1
    {
        public Student getStudent()
        {
            Student stud = new Student("Anjanee", 90);
            Console.WriteLine(stud);
            Console.WriteLine(stud.age);
            return stud;
        }       
    }
}

这是我收到的错误。

在任何地方的自动化中收到错误

未解析成员“TestAADLL.Student,TestAADLL, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”的类型。

逻辑“testlogic.logic”的第 1 行发生错误。请在逻辑编辑器中打开逻辑以查看第 1 行的操作。

标签: c#objectdllbotsautomationanywhere

解决方案


文档中描述的 MarshalByRefObject允许在支持远程处理的应用程序中跨应用程序域边界访问对象。

因此,如下从 MarshalByRefObject 继承您的 Student 类将解决问题

public class Student : MarshalByRefObject

推荐阅读