T
o write a library for dynamo in c# you need to add a reference to several libraries. The easiest way would be to use Visual Studio Package Manager, in there you type “Dynamo Visual Programming” and install the following:
A
n important thing about writing your method in dynamo is provide functionality for multiple cases. In Dynamo you deal with objects and lists which can be multi-dimensional.
Dynamo provides an attribute to allow a method to receive multi dimensional lists “IsVisibleInDynamoLibrary”
[MultiReturn(new[] { "List" })] [IsVisibleInDynamoLibrary(true)] public static Dictionary<string, object> ConvertToInt32(object List) { object returnValue = Convert.ToInt32(List); return new Dictionary<string, object> { { "List", returnValue } }; } [MultiReturn(new[] { "List" })] [IsVisibleInDynamoLibrary(false)] public static Dictionary<string, object> ConvertToInt32([ArbitraryDimensionArrayImport]IList List) { IList returnList = new ArrayList(); foreach (var item in List) { if (item is IList) returnList.Add(ConvertToInt32((IList)item)["List"]); else returnList.Add(ConvertToInt32(item)["List"]); } return new Dictionary<string, object> { { "List", returnList } }; }