/// <internalonly/>
int IBuiltInEvidence.InitFromBuffer(char[] buffer, int position)
{
int length = BuiltInEvidenceHelper.GetIntFromCharArray(buffer, position);
position += 2;
m_publicKeyBlob = new StrongNamePublicKeyBlob();
m_publicKeyBlob.PublicKey = new byte[length];
int lengthInChars = ((length - 1) / 2) + 1;
Buffer.InternalBlockCopy(buffer, position * 2, m_publicKeyBlob.PublicKey, 0, length);
position += lengthInChars;
int major = BuiltInEvidenceHelper.GetIntFromCharArray(buffer, position);
int minor = BuiltInEvidenceHelper.GetIntFromCharArray(buffer, position + 2);
int build = BuiltInEvidenceHelper.GetIntFromCharArray(buffer, position + 4);
int revision = BuiltInEvidenceHelper.GetIntFromCharArray(buffer, position + 6);
m_version = new Version(major, minor, build, revision);
position += 8;
length = BuiltInEvidenceHelper.GetIntFromCharArray(buffer, position);
position += 2;
m_name = new String(buffer, position, length);
return(position + length);
}