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 格式