Generic type dll


#1

Where would I find the dll containing the Generic data type for use with custom activities?

Andy


#2

Hi @darlai

Let me begin with an important disclaimer. We do not encourage users to use our custom data type in their customer activities because any changes can cause your custom activity to malfunction. As such, we do not provide any support related to your custom activities malfunctioning as a result of using our custom generic data type.

Having said that, to be able to implement the custom generic data type you will need to reference the package UiPath.System.Activities in your own package instead of pulling a copy of the dll file (the actual file that defines the type is UiPath.System.Activities.dll).

Once again, we do not provide any support here, so include it at your own risk.


Create a custom activity with a generic type input
#3

Fair enough with the disclaimer, but let me play devils advocate here and dig deeper into that.
Own disclaimer: I’m not a fan of GenericValue. An antifan, honestly.

If it is not recommended to use GenericValue in custom activities due to it being prone to breaking on changes, what makes it safe to use in workflows?
In reality, difference between workflow and custom activity is more semantical/shallow than anything else - they’re both .Net code based on workflow foundation and both can be implemented in each other if one so desires.


#4

I believe it is more about it potentially (and unintentionally) introducing a breaking change in somebody else’s custom activity.

As I understood it, we can only guarantee that changes we make to it are compatible with our own solutions. This is why it is not advised to use it - if we need to change something, we will test it on our side and that’s it.


#5

It’s not a question of choosing to use a generic value. If I create a custom activity that has a dynamic set of input values - which is the case with the fuzzy logic expert system (https://darl.ai/Darl) I am porting to UIPath, and I take in input values as a dictionary of string-object pairs, then I may be passed a Generic Value, in which case I have to be able to parse it. I’m experimenting with other methods of specifying I/O at design time, but there is a real lack of online examples in this area, and as you’ll be aware, UIPath is based on a strangely neglected area of Microsoft’s technology.