private void ReadValues(NdrBinaryStream stream) { if (Type == ClaimType.CLAIM_TYPE_STRING) { var pointers = new int[Count]; for (var i = 0; i < Count; i++) { pointers[i] = stream.ReadInt(); } } values = new object[Count]; for (var i = 0; i < Count; i++) { switch (Type) { case ClaimType.CLAIM_TYPE_BOOLEAN: values[i] = Convert.ToBoolean(stream.ReadLong()); break; case ClaimType.CLAIM_TYPE_INT64: values[i] = stream.ReadLong(); break; case ClaimType.CLAIM_TYPE_UINT64: values[i] = (ulong)stream.ReadLong(); break; case ClaimType.CLAIM_TYPE_STRING: values[i] = stream.ReadString(); break; } } }