Skip to content

Commit 27ba26d

Browse files
committed
Simplify Precision/Scale properties.
1 parent 8f29217 commit 27ba26d

File tree

2 files changed

+24
-12
lines changed

2 files changed

+24
-12
lines changed

src/MySqlConnector/MySql.Data.MySqlClient/MySqlParameter.cs

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -53,13 +53,8 @@ public MySqlParameter(string name, MySqlDbType mySqlDbType, int size, ParameterD
5353
{
5454
Direction = direction;
5555
IsNullable = isNullable;
56-
#if NET45
57-
((IDbDataParameter) this).Precision = precision;
58-
((IDbDataParameter) this).Scale = scale;
59-
#else
6056
Precision = precision;
6157
Scale = scale;
62-
#endif
6358
SourceVersion = sourceVersion;
6459
Value = value;
6560
}
@@ -104,12 +99,10 @@ public override ParameterDirection Direction
10499
public override bool IsNullable { get; set; }
105100

106101
#if NET45
107-
byte IDbDataParameter.Precision { get; set; }
108-
byte IDbDataParameter.Scale { get; set; }
109-
#else
110-
public override byte Precision { get; set; }
111-
public override byte Scale { get; set; }
102+
#pragma warning disable 109 // no existing member for 'new' to hide
112103
#endif
104+
public new byte Precision { get; set; }
105+
public new byte Scale { get; set; }
113106

114107
public override string ParameterName
115108
{

tests/SideBySide/ParameterTests.cs

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System.Data;
2+
using System.Data.Common;
23
using MySql.Data.MySqlClient;
34
using Xunit;
45

@@ -261,7 +262,7 @@ public void ResetDbType()
261262
}
262263

263264
[Fact]
264-
public void Precision()
265+
public void PrecisionViaInterface()
265266
{
266267
IDbCommand command = new MySqlCommand();
267268
IDbDataParameter parameter = command.CreateParameter();
@@ -270,12 +271,30 @@ public void Precision()
270271
}
271272

272273
[Fact]
273-
public void Scale()
274+
public void PrecisionViaBaseClass()
275+
{
276+
DbCommand command = new MySqlCommand();
277+
DbParameter parameter = command.CreateParameter();
278+
parameter.Precision = 11;
279+
Assert.Equal((byte) 11, parameter.Precision);
280+
}
281+
282+
[Fact]
283+
public void ScaleViaInterface()
274284
{
275285
IDbCommand command = new MySqlCommand();
276286
IDbDataParameter parameter = command.CreateParameter();
277287
parameter.Scale = 12;
278288
Assert.Equal((byte) 12, parameter.Scale);
279289
}
290+
291+
[Fact]
292+
public void ScaleViaBaseClass()
293+
{
294+
DbCommand command = new MySqlCommand();
295+
DbParameter parameter = command.CreateParameter();
296+
parameter.Scale = 12;
297+
Assert.Equal((byte) 12, parameter.Scale);
298+
}
280299
}
281300
}

0 commit comments

Comments
 (0)