public : array<Byte>^ Foo(array<Byte>^ data)
gets dynamic size managed array
but how can I get fixed size managed byte array?
I wanna force C# user to send me 8 byte array; and get 8 bytes back
style:
public : Byte[8] Foo(Byte[8] data)
EDIT:
can any1 explain why its impossbile in safe context?
C# does not allow you to do that. You’ll simply have to validate the array’s length and maybe throw an exception if the length is not 8.
Also, the type of your function can’t be
Byte[8]; you’ll have to change that toByte[].