DEV Community

Discussion on: Calling Rust from C#

Collapse
 
yaketycats profile image
Paul

C# bools are Win32 BOOLs are 32-bit signed integers, for historical reasons.

Thread Thread
 
living_syn profile image
Jeremy Mill

Still, Marshall as book "should" work, correct?

Thread Thread
 
yaketycats profile image
Paul

bool on the Rust side but byte on the C# side, or (better) make a user-defined struct on the C# side, e.g. "ByteBool", that holds a single byte value and implements the conversions to/from System.Boolean.

[StructLayout(LayoutKind.Sequential)]
public struct test
{
public ByteBool isbool;
}