aardio 文档
aardio 范例: 加载 .NET 程序集(DLL)
//aardio 加载 .NET 程序集(DLL)
import console;
import dotNet;
//查找并导入 .NET 程序集(DLL文件),参数可以是程序集名或者文件路径。
//默认会搜索系统目录、应用程序目录、或 "/bin/" 目录下的程序集。
var assembly = dotNet.load("CSNET2ClassLibrary");
console.log("程序集全名",assembly.FullName);
console.log("程序集路径",assembly.Location);
//dotNet.load 会调用 dotNet.reference 将参数@1指定的程序集名绑定参数@2指定的内存数据。
//参数 @2 在文件路径前加 $表示将文件编译到代码中并自内存加载(发布后不再需要该 DLL)
//这样就可以自内存加载程序集,并且其他 .NET 代码也可以通过程序集名称加载该程序集。
var assembly = dotNet.load("CSNET2ClassLibrary",$"\CSNET2ClassLibrary.dll");
//导入程序集中的名字空间或类,
//记住 .NET 里名字空间或类首字符大写,aardio 名字空间与类名一般小写首字符。
assembly.import("CSNET2ClassLibrary");
//程序集和名字空间相同时,也可以用 dotNet.import 加载程序集 + 导入名字空间。
dotNet.import("CSNET2ClassLibrary");//可选用参数 @2 指定要加载的程序集名称
//用 CSNET2ClassLibrary 名字空间下面的类构造对象实例,对象实例建议首字符小写
var simpleObject = CSNET2ClassLibrary.CSSimpleObject()
//修改 .NET 对象的属性值
simpleObject.FloatProperty = 936;
//获取 .NET 对象的属性值
console.log(simpleObject.FloatProperty);
//调用对象的静态方法
console.log( simpleObject.GetStringLength("HelloWorld") );
//也可以通过类调用静态方法,效果跟上面一句是一样的
console.log( CSNET2ClassLibrary.CSSimpleObject.GetStringLength("HelloWorld") );
console.pause();
/****
CSNET2ClassLibrary.dll 的 C#源码如下:
using System;
using System.Runtime.InteropServices;
namespace CSNET2ClassLibrary
{
public class CSSimpleObject
{
private float fField = 13456.78f;
public static int GetStringLength(string str)
{
return str.Length;
}
public float FloatProperty
{
get
{
return this.fField;
}
set
{
this.fField = value;
}
}
}
}
****/
Markdown 格式