diff --git a/YamlDotNet/Serialization/TypeInspectors/CachedTypeInspector.cs b/YamlDotNet/Serialization/TypeInspectors/CachedTypeInspector.cs
index 743b3b55..80cbe5ef 100644
--- a/YamlDotNet/Serialization/TypeInspectors/CachedTypeInspector.cs
+++ b/YamlDotNet/Serialization/TypeInspectors/CachedTypeInspector.cs
@@ -30,7 +30,7 @@ namespace YamlDotNet.Serialization.TypeInspectors
///
/// Wraps another and applies caching.
///
- public sealed class CachedTypeInspector : TypeInspectorSkeleton
+ public class CachedTypeInspector : TypeInspectorSkeleton
{
private readonly ITypeInspector innerTypeDescriptor;
private readonly ConcurrentDictionary> cache = new ConcurrentDictionary>();
diff --git a/YamlDotNet/Serialization/TypeInspectors/CompositeTypeInspector.cs b/YamlDotNet/Serialization/TypeInspectors/CompositeTypeInspector.cs
index af366e69..53c1c80b 100644
--- a/YamlDotNet/Serialization/TypeInspectors/CompositeTypeInspector.cs
+++ b/YamlDotNet/Serialization/TypeInspectors/CompositeTypeInspector.cs
@@ -28,7 +28,7 @@ namespace YamlDotNet.Serialization.TypeInspectors
///
/// Aggregates the results from multiple into a single one.
///
- public sealed class CompositeTypeInspector : TypeInspectorSkeleton
+ public class CompositeTypeInspector : TypeInspectorSkeleton
{
private readonly IEnumerable typeInspectors;
diff --git a/YamlDotNet/Serialization/TypeInspectors/NamingConventionTypeInspector.cs b/YamlDotNet/Serialization/TypeInspectors/NamingConventionTypeInspector.cs
index 5a4356ab..c77bd003 100644
--- a/YamlDotNet/Serialization/TypeInspectors/NamingConventionTypeInspector.cs
+++ b/YamlDotNet/Serialization/TypeInspectors/NamingConventionTypeInspector.cs
@@ -29,7 +29,7 @@ namespace YamlDotNet.Serialization.TypeInspectors
/// Wraps another and applies a
/// naming convention to the names of the properties.
///
- public sealed class NamingConventionTypeInspector : TypeInspectorSkeleton
+ public class NamingConventionTypeInspector : TypeInspectorSkeleton
{
private readonly ITypeInspector innerTypeDescriptor;
private readonly INamingConvention namingConvention;
diff --git a/YamlDotNet/Serialization/TypeInspectors/ReadableAndWritablePropertiesTypeInspector.cs b/YamlDotNet/Serialization/TypeInspectors/ReadableAndWritablePropertiesTypeInspector.cs
index d2418af6..9eac967c 100644
--- a/YamlDotNet/Serialization/TypeInspectors/ReadableAndWritablePropertiesTypeInspector.cs
+++ b/YamlDotNet/Serialization/TypeInspectors/ReadableAndWritablePropertiesTypeInspector.cs
@@ -28,7 +28,7 @@ namespace YamlDotNet.Serialization.TypeInspectors
///
/// Returns the properties of a type that are both readable and writable.
///
- public sealed class ReadableAndWritablePropertiesTypeInspector : TypeInspectorSkeleton
+ public class ReadableAndWritablePropertiesTypeInspector : TypeInspectorSkeleton
{
private readonly ITypeInspector innerTypeDescriptor;
diff --git a/YamlDotNet/Serialization/TypeInspectors/ReadableFieldsTypeInspector.cs b/YamlDotNet/Serialization/TypeInspectors/ReadableFieldsTypeInspector.cs
index 51fbb3d0..e779f2aa 100644
--- a/YamlDotNet/Serialization/TypeInspectors/ReadableFieldsTypeInspector.cs
+++ b/YamlDotNet/Serialization/TypeInspectors/ReadableFieldsTypeInspector.cs
@@ -30,7 +30,7 @@ namespace YamlDotNet.Serialization.TypeInspectors
///
/// Returns the properties and fields of a type that are readable.
///
- public sealed class ReadableFieldsTypeInspector : ReflectionTypeInspector
+ public class ReadableFieldsTypeInspector : ReflectionTypeInspector
{
private readonly ITypeResolver typeResolver;
@@ -46,7 +46,7 @@ public override IEnumerable GetProperties(Type type, object
.Select(p => (IPropertyDescriptor)new ReflectionFieldDescriptor(p, typeResolver));
}
- private sealed class ReflectionFieldDescriptor : IPropertyDescriptor
+ protected class ReflectionFieldDescriptor : IPropertyDescriptor
{
private readonly FieldInfo fieldInfo;
private readonly ITypeResolver typeResolver;
diff --git a/YamlDotNet/Serialization/TypeInspectors/ReadablePropertiesTypeInspector.cs b/YamlDotNet/Serialization/TypeInspectors/ReadablePropertiesTypeInspector.cs
index 903781e4..e578d522 100644
--- a/YamlDotNet/Serialization/TypeInspectors/ReadablePropertiesTypeInspector.cs
+++ b/YamlDotNet/Serialization/TypeInspectors/ReadablePropertiesTypeInspector.cs
@@ -30,7 +30,7 @@ namespace YamlDotNet.Serialization.TypeInspectors
///
/// Returns the properties of a type that are readable.
///
- public sealed class ReadablePropertiesTypeInspector : ReflectionTypeInspector
+ public class ReadablePropertiesTypeInspector : ReflectionTypeInspector
{
private readonly ITypeResolver typeResolver;
private readonly bool includeNonPublicProperties;
@@ -60,7 +60,7 @@ public override IEnumerable GetProperties(Type type, object
.Select(p => (IPropertyDescriptor)new ReflectionPropertyDescriptor(p, typeResolver));
}
- private sealed class ReflectionPropertyDescriptor : IPropertyDescriptor
+ protected class ReflectionPropertyDescriptor : IPropertyDescriptor
{
private readonly PropertyInfo propertyInfo;
private readonly ITypeResolver typeResolver;
diff --git a/YamlDotNet/Serialization/TypeInspectors/WritablePropertiesTypeInspector.cs b/YamlDotNet/Serialization/TypeInspectors/WritablePropertiesTypeInspector.cs
index 2111f059..2b9a6897 100644
--- a/YamlDotNet/Serialization/TypeInspectors/WritablePropertiesTypeInspector.cs
+++ b/YamlDotNet/Serialization/TypeInspectors/WritablePropertiesTypeInspector.cs
@@ -30,7 +30,7 @@ namespace YamlDotNet.Serialization.TypeInspectors
///
/// Returns the properties of a type that are writable.
///
- public sealed class WritablePropertiesTypeInspector : ReflectionTypeInspector
+ public class WritablePropertiesTypeInspector : ReflectionTypeInspector
{
private readonly ITypeResolver typeResolver;
private readonly bool includeNonPublicProperties;
@@ -61,7 +61,7 @@ public override IEnumerable GetProperties(Type type, object
.ToArray();
}
- private sealed class ReflectionPropertyDescriptor : IPropertyDescriptor
+ protected class ReflectionPropertyDescriptor : IPropertyDescriptor
{
private readonly PropertyInfo propertyInfo;
private readonly ITypeResolver typeResolver;