微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在UiPath中扩展类型

如何解决在UiPath中扩展类型

我有一个c#类,其扩展类型如下:

public static class TypeExtensions
{
    public static String nameof<TType,TMember>(this TType obj,Expression<Func<TType,TMember>> propertyAccessor)
    {
        if (propertyAccessor.Body.NodeType == ExpressionType.MemberAccess)
        {
            var memberExpression = propertyAccessor.Body as MemberExpression;
            if (memberExpression == null)
                return null;
            return memberExpression.Member.Name;
        }
        return null;
    }
}

在C#中,我通常会访问如下方法

obj.nameof(o => o.PropertyXY)

但是,在UiPath Studio中,我无法对其进行扩展。这是我尝试过的

obj.[nameof](Function(o) o.PropertyXY)

我已确保正确导入命名空间。

我做错什么了吗,或者在UiPath中扩展类型有任何已知的限制吗?

先谢谢了。 艾伦

编辑 在正确清理了VisualStudio库项目(通过删除bin / obj文件夹)并重建之后,我现在至少能够看到Intellisense中列出的扩展方法。 但是,在调用它时,UiPath会抱怨:“由于对象的当前状态,该操作无效”

解决方法

@Alan-在UiPath中,访问自定义类和对象的唯一方法是通过nuget包。我自己还没有尝试过,但是从理论上讲,它应该按照以下步骤工作:

  1. 创建一个类库项目,然后创建该项目的nuget包
  2. 通过在UiPath中管理包来将nuget包导入到您的项目中
  3. 在xaml页面中导入包的名称空间
  4. 这应该使您的静态方法可用于您的活动

请尝试一下,让我知道如何进行。

另一种选择是使用Visual Studio创建自定义活动,但我认为这对于这样一个琐碎的问题可能是过大的了

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。