如何解决在UiPath中扩展类型
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包。我自己还没有尝试过,但是从理论上讲,它应该按照以下步骤工作:
- 创建一个类库项目,然后创建该项目的nuget包
- 通过在UiPath中管理包来将nuget包导入到您的项目中
- 在xaml页面中导入包的名称空间
- 这应该使您的静态方法可用于您的活动
请尝试一下,让我知道如何进行。
另一种选择是使用Visual Studio创建自定义活动,但我认为这对于这样一个琐碎的问题可能是过大的了
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。