Yes, using the same shift and bitwise or operations used in the C macro.
Here is a sample implementation:
Try this:
publicint MakeLong (short lowPart,short highPart){return (int)(((ushort)lowPart) | (uint)(highPart << 16));}publicstaticshort HiWord(int dword){return (short) (dword >> 16);}publicstaticshort LoWord(int dword){return (short) dword;}