aardio 文档
aardio 范例: 编译运行 C# 代码,.NET 类型检测
.NET 类型转换 | 创建 C# 语言编译器
//aardio 编译运行 C# 代码,.NET 类型检测
//.NET 类型转换: https://www.aardio.com/zh-cn/doc/library-guide/std/dotNet/type-conversion.html
import dotNet;
import console.init;
//创建 C# 语言编译器: https://www.aardio.com/zh-cn/doc/library-guide/std/dotNet/_.html#compiler
var compiler = dotNet.createCompiler("C#");
//待编译的 C# 源码
compiler.Source = /******
using System;
namespace CSharpLibrary
{
public class Util
{
public static object TestDataType<T>(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' );
Markdown 格式