private bool IsOverridable(ITypeDefinitionMember member) { if (!member.IsVirtual()) return false; // member virtual final is not overridable if (member.IsSealed()) return false; // if member type is Effectively sealed and cannot be extended, then the member cannot be inherited if (member.ContainingTypeDefinition != null && member.ContainingTypeDefinition.IsEffectivelySealed()) return false; return true; }
private bool IsOverridable(ITypeDefinitionMember member) { if (!member.IsVirtual()) { return(false); } // member virtual final is not overridable if (member.IsSealed()) { return(false); } // if member type is Effectively sealed and cannot be extended, then the member cannot be inherited if (member.ContainingTypeDefinition != null && member.ContainingTypeDefinition.IsEffectivelySealed()) { return(false); } return(true); }