1 个不稳定版本

0.0.0 2023 年 10 月 7 日

#25#dotnet

MIT/Apache

12KB
218 代码行数,不包括注释

Mycorrhiza - Rust/.NET 互操作层

Mycorrhiza 是 rustc_codegen_clr 项目的组成部分,它允许 Rust 代码调用 .NET 函数并简化与托管对象的交互。未来,它将包含互操作指南和一些安全抽象,以帮助开发针对 .NET 的 Rust 应用程序。它目前处于高度开发中,不建议一般使用。

示例

使用 StringBuilder 和 Console 的 HelloWorld

    let sb = mycorrhiza::system::text::StringBuilder::empty();
    sb.append_char('H');
    sb.append_char('e');
    sb.append_char('l');
    sb.append_char('l');
    sb.append_char('o');
    sb.append_char(' ');
    sb.append_char('W');
    sb.append_char('o');
    sb.append_char('r');
    sb.append_char('l');
    sb.append_char('d');
    sb.append_char('!');
    sb.append_char('\n');
    sb.append_char('\r');

    let mstr = sb.to_mstring();
    mycorrhiza::system::console::Console::writeln_string(mstr);

lib.rs:

Mycorrhiza 是一个 Rust .NET 互操作框架。它是 rustc_codegen_clr 项目的组成部分,允许您直接与 .NET 运行时交互。rustc_codegen_clr 的一个目标是通过重用现有的 Rust 特性和语法来实现 Rust 与 .NET 运行时的无缝集成。尽管 Mycorrhiza 深度交互于 rustc_codegen_clr,但它必须“看起来”像一个普通的 crate。还应该能够在标准 Rust 中实现等效的 API。

无运行时依赖