public void BinaryProp() { using (ArrayPtr arrayPtr = MarshalEx.ArrayToNative <int>(10)) { int chvo = 99; m_ISilDataAccess.BinaryPropRgb(1112, 2221, ArrayPtr.Null, 0, out chvo); Assert.AreEqual(0, chvo); byte[] prgb = new byte[] { 3, 4, 5 }; m_IVwCacheDa.CacheBinaryProp(1112, 2221, prgb, prgb.Length); m_ISilDataAccess.BinaryPropRgb(1112, 2221, arrayPtr, 10, out chvo); byte[] prgbNew = MarshalEx.NativeToArray <byte>(arrayPtr, chvo); Assert.AreEqual(prgb.Length, prgbNew.Length); for (int i = 0; i < prgbNew.Length; i++) { Assert.AreEqual(prgb[i], prgbNew[i]); } byte[] prgb2 = new byte[] { 6, 7, 8, 9 }; m_IVwCacheDa.CacheBinaryProp(1112, 2221, prgb2, prgb2.Length); m_ISilDataAccess.BinaryPropRgb(1112, 2221, arrayPtr, 10, out chvo); prgbNew = MarshalEx.NativeToArray <byte>(arrayPtr, chvo); Assert.AreEqual(prgb2.Length, prgbNew.Length); for (int i = 0; i < prgbNew.Length; i++) { Assert.AreEqual(prgb2[i], prgbNew[i]); } } }