using uCalcSoftware; var uc = new uCalc(); static void DescribeArg(uCalc.Callback cb) { // Retrieve the Item object for the first argument. var item = cb.ArgItem(1); // Inspect the item's metadata. var name = item.Name; if (name == "") { name = "(literal)"; } Console.WriteLine($" - Name: {name}, Type: {item.DataType.Name}"); } uc.DefineFunction("Describe(ByHandle arg As AnyType)", DescribeArg); uc.DefineVariable("my_var = 100"); Console.WriteLine("Inspecting a variable:"); uc.Eval("Describe(my_var)"); Console.WriteLine("Inspecting a literal value:"); uc.Eval("Describe(123.45)"); Console.WriteLine("Inspecting a string value:"); uc.EvalStr("Describe('abc xyz')");