runtime: Bring back missing protected fields from ResourceManager and ResourceSet
Proposal
We removed 4 protected fields from System.Resources types because (1) Hashtable was not in corelib at that time and (2) usage seemed low and public/protected fields are non standard. The 4 fields in System.Resources are:
ResourceManager.BaseNameField
ResourceManager.ResourceSets
ResourceSet.Reader
ResourceSet.Table
Since then (1) it has emerged from api-port analysis there is significant usage especially for the ResourceSet fields and (2) Hashtable has moved to corelib.
We should bring these back.
namespace System.Resources
{
public class ResourceManager
{
protected string BaseNameField;
protected Hashtable ResourceSets;
}
public class ResourceSet : IDisposable, IEnumerable
{
protected IResourceReader Reader;
protected Hashtable Table;
}
}
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Comments: 20 (19 by maintainers)
@MarcoRossignoli we need first to agree that is what we want to do. personally, I don’t have any objection but I need to get more people to agree on that.
@MarcoRossignoli
you are looking at the implementation but these fields are not exposed from the contracts
https://github.com/dotnet/corefx/blob/master/src/System.Resources.ResourceManager/ref/System.Resources.ResourceManager.cs#L53 https://github.com/dotnet/corefx/blob/master/src/System.Resources.ResourceManager/ref/System.Resources.ResourceManager.cs#L80