diff --git a/src/libraries/System.ComponentModel.TypeConverter/src/System/ComponentModel/BindingList.cs b/src/libraries/System.ComponentModel.TypeConverter/src/System/ComponentModel/BindingList.cs index 9e5faa75ec37b3..b423375c646b8d 100644 --- a/src/libraries/System.ComponentModel.TypeConverter/src/System/ComponentModel/BindingList.cs +++ b/src/libraries/System.ComponentModel.TypeConverter/src/System/ComponentModel/BindingList.cs @@ -73,7 +73,7 @@ private void Initialize() } } - private bool ItemTypeHasDefaultConstructor + private static bool ItemTypeHasDefaultConstructor { get { diff --git a/src/libraries/System.ComponentModel.TypeConverter/src/System/ComponentModel/CultureInfoConverter.cs b/src/libraries/System.ComponentModel.TypeConverter/src/System/ComponentModel/CultureInfoConverter.cs index b675da60e69d0d..3e8408548c63a0 100644 --- a/src/libraries/System.ComponentModel.TypeConverter/src/System/ComponentModel/CultureInfoConverter.cs +++ b/src/libraries/System.ComponentModel.TypeConverter/src/System/ComponentModel/CultureInfoConverter.cs @@ -22,7 +22,7 @@ public class CultureInfoConverter : TypeConverter /// /// Retrieves the "default" name for our culture. /// - private string DefaultCultureString => SR.CultureInfoConverterDefaultCultureString; + private static string DefaultCultureString => SR.CultureInfoConverterDefaultCultureString; private const string DefaultInvariantCultureString = "(Default)"; diff --git a/src/libraries/System.ComponentModel.TypeConverter/src/System/ComponentModel/Design/DesigntimeLicenseContext.cs b/src/libraries/System.ComponentModel.TypeConverter/src/System/ComponentModel/Design/DesigntimeLicenseContext.cs index b72d91e01c955a..eb5f0d456b8cd3 100644 --- a/src/libraries/System.ComponentModel.TypeConverter/src/System/ComponentModel/Design/DesigntimeLicenseContext.cs +++ b/src/libraries/System.ComponentModel.TypeConverter/src/System/ComponentModel/Design/DesigntimeLicenseContext.cs @@ -50,7 +50,7 @@ internal sealed class RuntimeLicenseContext : LicenseContext /// if there is a '#' in the path, everything after this is treated as a fragment. So /// we need to append the fragment to the end of the path. /// - private string GetLocalPath(string fileName) + private static string GetLocalPath(string fileName) { Debug.Assert(fileName != null && fileName.Length > 0, "Cannot get local path, fileName is not valid"); @@ -150,7 +150,7 @@ private string GetLocalPath(string fileName) * we are attempting to locate could have different casing * depending on how the assembly was loaded. **/ - private Stream? CaseInsensitiveManifestResourceStreamLookup(Assembly satellite, string name) + private static Stream? CaseInsensitiveManifestResourceStreamLookup(Assembly satellite, string name) { CompareInfo comparer = CultureInfo.InvariantCulture.CompareInfo; diff --git a/src/libraries/System.ComponentModel.TypeConverter/src/System/ComponentModel/ReflectTypeDescriptionProvider.ReflectedTypeData.cs b/src/libraries/System.ComponentModel.TypeConverter/src/System/ComponentModel/ReflectTypeDescriptionProvider.ReflectedTypeData.cs index 7237e3f94b0f69..05241af299d0c9 100644 --- a/src/libraries/System.ComponentModel.TypeConverter/src/System/ComponentModel/ReflectTypeDescriptionProvider.ReflectedTypeData.cs +++ b/src/libraries/System.ComponentModel.TypeConverter/src/System/ComponentModel/ReflectTypeDescriptionProvider.ReflectedTypeData.cs @@ -154,7 +154,7 @@ internal AttributeCollection GetAttributes() /// /// Retrieves the component name from the site. /// - internal string? GetComponentName(object? instance) + internal static string? GetComponentName(object? instance) { IComponent? comp = instance as IComponent; ISite? site = comp?.Site; diff --git a/src/libraries/System.ComponentModel.TypeConverter/src/System/ComponentModel/ReflectTypeDescriptionProvider.cs b/src/libraries/System.ComponentModel.TypeConverter/src/System/ComponentModel/ReflectTypeDescriptionProvider.cs index 48709a88c24675..dacc0ea3aba45d 100644 --- a/src/libraries/System.ComponentModel.TypeConverter/src/System/ComponentModel/ReflectTypeDescriptionProvider.cs +++ b/src/libraries/System.ComponentModel.TypeConverter/src/System/ComponentModel/ReflectTypeDescriptionProvider.cs @@ -355,10 +355,9 @@ internal AttributeCollection GetAttributes([DynamicallyAccessedMembers(Dynamical /// /// Retrieves the component name from the site. /// - internal string? GetComponentName([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] Type type, object? instance) + internal static string? GetComponentName(object? instance) { - ReflectedTypeData td = GetTypeData(type, true)!; - return td.GetComponentName(instance); + return ReflectedTypeData.GetComponentName(instance); } /// @@ -464,7 +463,7 @@ internal EventDescriptorCollection GetEvents([DynamicallyAccessedMembers(Dynamic /// Retrieves custom extender attributes. We don't support /// extender attributes, so we always return an empty collection. /// - internal AttributeCollection GetExtendedAttributes(object instance) + internal static AttributeCollection GetExtendedAttributes(object instance) { return AttributeCollection.Empty; } @@ -481,10 +480,9 @@ internal AttributeCollection GetExtendedAttributes(object instance) /// /// Retrieves the component name from the site. /// - [RequiresUnreferencedCode("The Type of instance cannot be statically discovered.")] - internal string? GetExtendedComponentName(object instance) + internal static string? GetExtendedComponentName(object instance) { - return GetComponentName(instance.GetType(), instance); + return GetComponentName(instance); } /// @@ -502,7 +500,7 @@ internal TypeConverter GetExtendedConverter(object instance) /// Return the default event. The default event is determined by the /// presence of a DefaultEventAttribute on the class. /// - internal EventDescriptor? GetExtendedDefaultEvent(object instance) + internal static EventDescriptor? GetExtendedDefaultEvent() { return null; // we don't support extended events. } @@ -510,7 +508,7 @@ internal TypeConverter GetExtendedConverter(object instance) /// /// Return the default property. /// - internal PropertyDescriptor? GetExtendedDefaultProperty(object instance) + internal static PropertyDescriptor? GetExtendedDefaultProperty(object instance) { return null; // extender properties are never the default. } @@ -527,7 +525,7 @@ internal TypeConverter GetExtendedConverter(object instance) /// /// Retrieves the events for this type. /// - internal EventDescriptorCollection GetExtendedEvents(object instance) + internal static EventDescriptorCollection GetExtendedEvents(object instance) { return EventDescriptorCollection.Empty; } @@ -796,7 +794,7 @@ private static IExtenderProvider[] GetExtenders(ICollection components, object i /// /// Retrieves the owner for a property. /// - internal object GetExtendedPropertyOwner(object instance, PropertyDescriptor? pd) + internal static object GetExtendedPropertyOwner(object instance, PropertyDescriptor? pd) { return GetPropertyOwner(instance.GetType(), instance, pd); } @@ -878,7 +876,7 @@ internal PropertyDescriptorCollection GetProperties([DynamicallyAccessedMembers( /// /// Retrieves the owner for a property. /// - internal object GetPropertyOwner(Type type, object instance, PropertyDescriptor? pd) + internal static object GetPropertyOwner(Type type, object instance, PropertyDescriptor? pd) { return TypeDescriptor.GetAssociation(type, instance); } diff --git a/src/libraries/System.ComponentModel.TypeConverter/src/System/ComponentModel/TypeDescriptor.cs b/src/libraries/System.ComponentModel.TypeConverter/src/System/ComponentModel/TypeDescriptor.cs index 0747e7ff01e95e..f1b36ef296ab94 100644 --- a/src/libraries/System.ComponentModel.TypeConverter/src/System/ComponentModel/TypeDescriptor.cs +++ b/src/libraries/System.ComponentModel.TypeConverter/src/System/ComponentModel/TypeDescriptor.cs @@ -3324,9 +3324,9 @@ AttributeCollection ICustomTypeDescriptor.GetAttributes() // custom type descriptor TypeDescriptionProvider p = _node.Provider; - if (p is ReflectTypeDescriptionProvider rp) + if (p is ReflectTypeDescriptionProvider) { - return rp.GetExtendedAttributes(_instance); + return ReflectTypeDescriptionProvider.GetExtendedAttributes(_instance); } ICustomTypeDescriptor desc = p.GetExtendedTypeDescriptor(_instance); @@ -3369,9 +3369,9 @@ AttributeCollection ICustomTypeDescriptor.GetAttributes() // custom type descriptor TypeDescriptionProvider p = _node.Provider; - if (p is ReflectTypeDescriptionProvider rp) + if (p is ReflectTypeDescriptionProvider) { - return rp.GetExtendedComponentName(_instance); + return ReflectTypeDescriptionProvider.GetExtendedComponentName(_instance); } ICustomTypeDescriptor desc = p.GetExtendedTypeDescriptor(_instance); @@ -3413,9 +3413,9 @@ TypeConverter ICustomTypeDescriptor.GetConverter() // custom type descriptor TypeDescriptionProvider p = _node.Provider; - if (p is ReflectTypeDescriptionProvider rp) + if (p is ReflectTypeDescriptionProvider) { - return rp.GetExtendedDefaultEvent(_instance); + return ReflectTypeDescriptionProvider.GetExtendedDefaultEvent(); } ICustomTypeDescriptor desc = p.GetExtendedTypeDescriptor(_instance); @@ -3433,9 +3433,9 @@ TypeConverter ICustomTypeDescriptor.GetConverter() // If so, we can call on it directly rather than creating another // custom type descriptor TypeDescriptionProvider p = _node.Provider; - if (p is ReflectTypeDescriptionProvider rp) + if (p is ReflectTypeDescriptionProvider) { - return rp.GetExtendedDefaultProperty(_instance); + return ReflectTypeDescriptionProvider.GetExtendedDefaultProperty(_instance); } ICustomTypeDescriptor desc = p.GetExtendedTypeDescriptor(_instance); @@ -3478,9 +3478,9 @@ EventDescriptorCollection ICustomTypeDescriptor.GetEvents() // If so, we can call on it directly rather than creating another // custom type descriptor TypeDescriptionProvider p = _node.Provider; - if (p is ReflectTypeDescriptionProvider rp) + if (p is ReflectTypeDescriptionProvider) { - return rp.GetExtendedEvents(_instance); + return ReflectTypeDescriptionProvider.GetExtendedEvents(_instance); } ICustomTypeDescriptor desc = p.GetExtendedTypeDescriptor(_instance); @@ -3500,13 +3500,13 @@ EventDescriptorCollection ICustomTypeDescriptor.GetEvents(Attribute[]? attribute // If so, we can call on it directly rather than creating another // custom type descriptor TypeDescriptionProvider p = _node.Provider; - if (p is ReflectTypeDescriptionProvider rp) + if (p is ReflectTypeDescriptionProvider) { // There is no need to filter these events. For extended objects, they // are accessed through our pipeline code, which always filters before // returning. So any filter we do here is redundant. Note that we do // pass a valid filter to a custom descriptor so it can optimize if it wants. - EventDescriptorCollection events = rp.GetExtendedEvents(_instance); + EventDescriptorCollection events = ReflectTypeDescriptionProvider.GetExtendedEvents(_instance); return events; } @@ -3578,9 +3578,9 @@ object ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor? pd) TypeDescriptionProvider p = _node.Provider; - if (p is ReflectTypeDescriptionProvider rp) + if (p is ReflectTypeDescriptionProvider) { - return rp.GetExtendedPropertyOwner(_instance, pd); + return ReflectTypeDescriptionProvider.GetExtendedPropertyOwner(_instance, pd); } ICustomTypeDescriptor desc = p.GetExtendedTypeDescriptor(_instance); @@ -3675,9 +3675,9 @@ AttributeCollection ICustomTypeDescriptor.GetAttributes() // custom type descriptor TypeDescriptionProvider p = _node.Provider; string? name; - if (p is ReflectTypeDescriptionProvider rp) + if (p is ReflectTypeDescriptionProvider) { - name = rp.GetComponentName(_objectType, _instance); + name = ReflectTypeDescriptionProvider.GetComponentName(_instance); } else { @@ -3924,7 +3924,7 @@ PropertyDescriptorCollection ICustomTypeDescriptor.GetProperties(Attribute[]? at object? owner; if (p is ReflectTypeDescriptionProvider rp) { - owner = rp.GetPropertyOwner(_objectType, _instance!, pd); + owner = ReflectTypeDescriptionProvider.GetPropertyOwner(_objectType, _instance!, pd); } else {