private bool IsVisible(FieldInfo/*!*/ field) { if (Context.DomainManager.Configuration.PrivateBinding) { return true; } if (field.IsPrivate || field.IsAssembly || field.IsFamilyAndAssembly) { return false; } if (field.IsProtected()) { return field.DeclaringType != null && field.DeclaringType.IsVisible() && !field.DeclaringType.IsSealed(); } return true; }