//aardio 编译运行 C# 代码,.NET 类型检测 //.NET 类型转换: doc://library-guide/std/dotNet/type-conversion.md import dotNet; import console.init; //创建 C# 语言编译器: doc://library-guide/std/dotNet/_.md#compiler var compiler = dotNet.createCompiler("C#"); //待编译的 C# 源码 compiler.Source = /****** using System; namespace CSharpLibrary { public class Util { public static object TestDataType(T parameter) { //使用 typeof 获取参数的类型 Type parameterType = typeof(T); //内置类型别名表:https://learn.microsoft.com/zh-cn/dotnet/csharp/language-reference/builtin-types/built-in-types Console.WriteLine("aardio 参数对应 C# 类型:\t{0} \n", parameterType); byte [] buffer = new byte[]{0x60,0x61}; return buffer; } } } ******/ //编译 C# 到内存程序集,并导入 .NET 命名空间 compiler.import("CSharpLibrary"); //要测试 C# 类型的 aardio 对象 var value = raw.buffer("测试字节串"); //使用 C# 编写的类构造对象实例 var netUtil = CSharpLibrary.Util(); //调用实时编译的 C# 函数(模板参数,可传任意类型) var result = netUtil.TestDataType(value); console.log("C# 返回值的 aardio 类型:",type(result),'\n\n\n' );