Commit c6d4379b authored by Marc Gravell's avatar Marc Gravell

Remove a bunch of unnecessary (and *theoretically* dangerous, in a very...

Remove a bunch of unnecessary (and *theoretically* dangerous, in a very unlikely scenario involving custom cultures installed on a box) C# 7 string $"...{...}..." usages
parent f25f0724
...@@ -165,7 +165,7 @@ public SqlMapper.IMemberMap GetMember(string columnName) ...@@ -165,7 +165,7 @@ public SqlMapper.IMemberMap GetMember(string columnName)
return new SimpleMemberMap(columnName, property); return new SimpleMemberMap(columnName, property);
// roslyn automatically implemented properties, in particular for get-only properties: <{Name}>k__BackingField; // roslyn automatically implemented properties, in particular for get-only properties: <{Name}>k__BackingField;
var backingFieldName = $"<{columnName}>k__BackingField"; var backingFieldName = "<" + columnName + ">k__BackingField";
// preference order is: // preference order is:
// exact match over underscre match, exact case over wrong case, backing fields over regular fields, match-inc-underscores over match-exc-underscores // exact match over underscre match, exact case over wrong case, backing fields over regular fields, match-inc-underscores over match-exc-underscores
...@@ -177,7 +177,7 @@ public SqlMapper.IMemberMap GetMember(string columnName) ...@@ -177,7 +177,7 @@ public SqlMapper.IMemberMap GetMember(string columnName)
if (field == null && MatchNamesWithUnderscores) if (field == null && MatchNamesWithUnderscores)
{ {
var effectiveColumnName = columnName.Replace("_", ""); var effectiveColumnName = columnName.Replace("_", "");
backingFieldName = $"<{effectiveColumnName}>k__BackingField"; backingFieldName = "<" +effectiveColumnName + ">k__BackingField";
field = _fields.FirstOrDefault(p => string.Equals(p.Name, effectiveColumnName, StringComparison.Ordinal)) field = _fields.FirstOrDefault(p => string.Equals(p.Name, effectiveColumnName, StringComparison.Ordinal))
?? _fields.FirstOrDefault(p => string.Equals(p.Name, backingFieldName, StringComparison.Ordinal)) ?? _fields.FirstOrDefault(p => string.Equals(p.Name, backingFieldName, StringComparison.Ordinal))
......
...@@ -403,7 +403,7 @@ public DynamicParameters Output<T>(T target, Expression<Func<T, object>> express ...@@ -403,7 +403,7 @@ public DynamicParameters Output<T>(T target, Expression<Func<T, object>> express
if (setter != null) goto MAKECALLBACK; if (setter != null) goto MAKECALLBACK;
// Come on let's build a method, let's build it, let's build it now! // Come on let's build a method, let's build it, let's build it now!
var dm = new DynamicMethod($"ExpressionParam{Guid.NewGuid()}", null, new[] { typeof(object), GetType() }, true); var dm = new DynamicMethod("ExpressionParam" + Guid.NewGuid().ToString(), null, new[] { typeof(object), GetType() }, true);
var il = dm.GetILGenerator(); var il = dm.GetILGenerator();
il.Emit(OpCodes.Ldarg_0); // [object] il.Emit(OpCodes.Ldarg_0); // [object]
......
...@@ -2024,12 +2024,12 @@ private static bool TryStringSplit(ref IEnumerable list, int splitAt, string nam ...@@ -2024,12 +2024,12 @@ private static bool TryStringSplit(ref IEnumerable list, int splitAt, string nam
else else
{ {
varName = variableName; varName = variableName;
return $"(select val from {variableName}_TSS)"; return "(select val from " + variableName + "_TSS)";
} }
}, RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.CultureInvariant); }, RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.CultureInvariant);
if (varName == null) return false; // couldn't resolve the var! if (varName == null) return false; // couldn't resolve the var!
command.CommandText = $"declare {varName}_TSS table(val {colType});insert {varName}_TSS (val) select value from string_split({varName},',');" + sql; command.CommandText = "declare " + varName + "_TSS table(val " + colType + ");insert " + varName + "_TSS (val) select value from string_split(" + varName + ",',');" + sql;
var concatenatedParam = command.CreateParameter(); var concatenatedParam = command.CreateParameter();
concatenatedParam.ParameterName = namePrefix; concatenatedParam.ParameterName = namePrefix;
concatenatedParam.DbType = DbType.AnsiString; concatenatedParam.DbType = DbType.AnsiString;
...@@ -2237,7 +2237,7 @@ internal static IList<LiteralToken> GetLiteralTokens(string sql) ...@@ -2237,7 +2237,7 @@ internal static IList<LiteralToken> GetLiteralTokens(string sql)
{ {
filterParams = !smellsLikeOleDb.IsMatch(identity.sql); filterParams = !smellsLikeOleDb.IsMatch(identity.sql);
} }
var dm = new DynamicMethod($"ParamInfo{Guid.NewGuid()}", null, new[] { typeof(IDbCommand), typeof(object) }, type, true); var dm = new DynamicMethod("ParamInfo" + Guid.NewGuid().ToString(), null, new[] { typeof(IDbCommand), typeof(object) }, type, true);
var il = dm.GetILGenerator(); var il = dm.GetILGenerator();
...@@ -2897,7 +2897,7 @@ static LocalBuilder GetTempLocal(ILGenerator il, ref Dictionary<Type, LocalBuild ...@@ -2897,7 +2897,7 @@ static LocalBuilder GetTempLocal(ILGenerator il, ref Dictionary<Type, LocalBuild
) )
{ {
var returnType = type.IsValueType() ? typeof(object) : type; var returnType = type.IsValueType() ? typeof(object) : type;
var dm = new DynamicMethod($"Deserialize{Guid.NewGuid()}", returnType, new[] { typeof(IDataReader) }, type, true); var dm = new DynamicMethod("Deserialize" + Guid.NewGuid().ToString(), returnType, new[] { typeof(IDataReader) }, type, true);
var il = dm.GetILGenerator(); var il = dm.GetILGenerator();
il.DeclareLocal(typeof(int)); il.DeclareLocal(typeof(int));
il.DeclareLocal(type); il.DeclareLocal(type);
...@@ -2971,7 +2971,7 @@ static LocalBuilder GetTempLocal(ILGenerator il, ref Dictionary<Type, LocalBuild ...@@ -2971,7 +2971,7 @@ static LocalBuilder GetTempLocal(ILGenerator il, ref Dictionary<Type, LocalBuild
var ctor = typeMap.FindConstructor(names, types); var ctor = typeMap.FindConstructor(names, types);
if (ctor == null) if (ctor == null)
{ {
string proposedTypes = $"({string.Join(", ", types.Select((t, i) => t.FullName + " " + names[i]).ToArray())})"; string proposedTypes = "(" + string.Join(", ", types.Select((t, i) => t.FullName + " " + names[i]).ToArray()) + ")";
throw new InvalidOperationException($"A parameterless default constructor or one matching signature {proposedTypes} is required for {type.FullName} materialization"); throw new InvalidOperationException($"A parameterless default constructor or one matching signature {proposedTypes} is required for {type.FullName} materialization");
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment