Fix CA1010
This commit is contained in:
@@ -612,6 +612,10 @@ dotnet_code_quality.api_surface = all
|
||||
### Design Rules
|
||||
### https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/design-warnings
|
||||
|
||||
# Collections should implement generic interface.
|
||||
#dotnet_code_quality.CA1010.additional_required_generic_interfaces =
|
||||
dotnet_diagnostic.CA1010.severity = warning
|
||||
|
||||
# Provide ObsoleteAttribute message.
|
||||
dotnet_diagnostic.CA1041.severity = warning
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ namespace OpenRA
|
||||
{
|
||||
public interface ISuppressInitExport { }
|
||||
|
||||
public class ActorReference : IEnumerable
|
||||
public class ActorReference : IEnumerable<object>
|
||||
{
|
||||
public string Type;
|
||||
readonly Lazy<TypeDictionary> initDict;
|
||||
@@ -104,7 +104,9 @@ namespace OpenRA
|
||||
return ret;
|
||||
}
|
||||
|
||||
public IEnumerator GetEnumerator() { return initDict.Value.GetEnumerator(); }
|
||||
public IEnumerator<object> GetEnumerator() { return initDict.Value.GetEnumerator(); }
|
||||
|
||||
IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); }
|
||||
|
||||
public ActorReference Clone()
|
||||
{
|
||||
|
||||
@@ -16,7 +16,7 @@ using System.Linq;
|
||||
|
||||
namespace OpenRA.Primitives
|
||||
{
|
||||
public class TypeDictionary : IEnumerable
|
||||
public class TypeDictionary : IEnumerable<object>
|
||||
{
|
||||
static readonly Func<Type, List<object>> CreateList = type => new List<object>();
|
||||
readonly Dictionary<Type, List<object>> data = new();
|
||||
@@ -105,10 +105,15 @@ namespace OpenRA.Primitives
|
||||
objs.TrimExcess();
|
||||
}
|
||||
|
||||
public IEnumerator GetEnumerator()
|
||||
public IEnumerator<object> GetEnumerator()
|
||||
{
|
||||
return WithInterface<object>().GetEnumerator();
|
||||
}
|
||||
|
||||
IEnumerator IEnumerable.GetEnumerator()
|
||||
{
|
||||
return GetEnumerator();
|
||||
}
|
||||
}
|
||||
|
||||
public static class TypeExts
|
||||
|
||||
@@ -16,10 +16,10 @@ using System.Text;
|
||||
|
||||
namespace OpenRA.Support
|
||||
{
|
||||
public class HttpQueryBuilder : IEnumerable
|
||||
public class HttpQueryBuilder : IEnumerable<KeyValuePair<string, string>>
|
||||
{
|
||||
readonly string url;
|
||||
readonly List<Parameter> parameters = new();
|
||||
readonly List<KeyValuePair<string, string>> parameters = new();
|
||||
|
||||
public HttpQueryBuilder(string url)
|
||||
{
|
||||
@@ -28,11 +28,9 @@ namespace OpenRA.Support
|
||||
|
||||
public void Add(string name, object value)
|
||||
{
|
||||
parameters.Add(new Parameter
|
||||
{
|
||||
Name = name,
|
||||
Value = Uri.EscapeDataString(value.ToString())
|
||||
});
|
||||
parameters.Add(KeyValuePair.Create(
|
||||
name,
|
||||
Uri.EscapeDataString(value.ToString())));
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
@@ -42,20 +40,19 @@ namespace OpenRA.Support
|
||||
builder.Append("?");
|
||||
|
||||
foreach (var parameter in parameters)
|
||||
builder.Append($"{parameter.Name}={parameter.Value}&");
|
||||
builder.Append($"{parameter.Key}={parameter.Value}&");
|
||||
|
||||
return builder.ToString();
|
||||
}
|
||||
|
||||
class Parameter
|
||||
public IEnumerator<KeyValuePair<string, string>> GetEnumerator()
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public string Value { get; set; }
|
||||
return parameters.GetEnumerator();
|
||||
}
|
||||
|
||||
public IEnumerator GetEnumerator()
|
||||
IEnumerator IEnumerable.GetEnumerator()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
return GetEnumerator();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user