private void ValidateProperty(CodeMemberProperty e) {
if (e.CustomAttributes.Count > 0) {
ValidateAttributes(e.CustomAttributes);
}
ValidateTypeReference(e.Type);
ValidateTypeReferences(e.ImplementationTypes);
if (e.PrivateImplementationType != null && !IsCurrentInterface) {
ValidateTypeReference(e.PrivateImplementationType);
}
if (e.Parameters.Count > 0 && String.Compare(e.Name, "Item", StringComparison.OrdinalIgnoreCase) == 0) {
ValidateParameters(e.Parameters);
}
else {
ValidateIdentifier(e,"Name",e.Name);
}
if (e.HasGet) {
if (!(IsCurrentInterface || (e.Attributes & MemberAttributes.ScopeMask) == MemberAttributes.Abstract)) {
ValidateStatements(e.GetStatements);
}
}
if (e.HasSet) {
if (!(IsCurrentInterface || (e.Attributes & MemberAttributes.ScopeMask) == MemberAttributes.Abstract)) {
ValidateStatements(e.SetStatements);
}
}
}