linux-packaging-mono/mcs/class/System.Data/corefx/DataReaderExtensions.cs
Xamarin Public Jenkins (auto-signing) ef583813eb Imported Upstream version 6.4.0.137
Former-commit-id: 943baa9f16a098c33e129777827f3a9d20da00d6
2019-07-26 19:53:28 +00:00

183 lines
6.2 KiB
C#

// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System.ComponentModel;
using System.Data.Common;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
namespace System.Data
{
// copied from CoreFX (NS2.1)
public static class DataReaderExtensions
{
public static bool GetBoolean(this DbDataReader reader, string name)
{
AssertNotNull(reader);
return reader.GetBoolean(reader.GetOrdinal(name));
}
public static byte GetByte(this DbDataReader reader, string name)
{
AssertNotNull(reader);
return reader.GetByte(reader.GetOrdinal(name));
}
public static long GetBytes(this DbDataReader reader, string name, long dataOffset, byte[] buffer, int bufferOffset, int length)
{
AssertNotNull(reader);
return reader.GetBytes(reader.GetOrdinal(name), dataOffset, buffer, bufferOffset, length);
}
public static char GetChar(this DbDataReader reader, string name)
{
AssertNotNull(reader);
return reader.GetChar(reader.GetOrdinal(name));
}
public static long GetChars(this DbDataReader reader, string name, long dataOffset, char[] buffer, int bufferOffset, int length)
{
AssertNotNull(reader);
return reader.GetChars(reader.GetOrdinal(name), dataOffset, buffer, bufferOffset, length);
}
[EditorBrowsable(EditorBrowsableState.Never)]
public static DbDataReader GetData(this DbDataReader reader, string name)
{
AssertNotNull(reader);
return reader.GetData(reader.GetOrdinal(name));
}
public static string GetDataTypeName(this DbDataReader reader, string name)
{
AssertNotNull(reader);
return reader.GetDataTypeName(reader.GetOrdinal(name));
}
public static DateTime GetDateTime(this DbDataReader reader, string name)
{
AssertNotNull(reader);
return reader.GetDateTime(reader.GetOrdinal(name));
}
public static decimal GetDecimal(this DbDataReader reader, string name)
{
AssertNotNull(reader);
return reader.GetDecimal(reader.GetOrdinal(name));
}
public static double GetDouble(this DbDataReader reader, string name)
{
AssertNotNull(reader);
return reader.GetDouble(reader.GetOrdinal(name));
}
public static Type GetFieldType(this DbDataReader reader, string name)
{
AssertNotNull(reader);
return reader.GetFieldType(reader.GetOrdinal(name));
}
public static T GetFieldValue<T>(this DbDataReader reader, string name)
{
AssertNotNull(reader);
return reader.GetFieldValue<T>(reader.GetOrdinal(name));
}
public static Task<T> GetFieldValueAsync<T>(this DbDataReader reader, string name, CancellationToken cancellationToken = default(CancellationToken))
{
AssertNotNull(reader);
return reader.GetFieldValueAsync<T>(reader.GetOrdinal(name), cancellationToken);
}
public static float GetFloat(this DbDataReader reader, string name)
{
AssertNotNull(reader);
return reader.GetFloat(reader.GetOrdinal(name));
}
public static Guid GetGuid(this DbDataReader reader, string name)
{
AssertNotNull(reader);
return reader.GetGuid(reader.GetOrdinal(name));
}
public static short GetInt16(this DbDataReader reader, string name)
{
AssertNotNull(reader);
return reader.GetInt16(reader.GetOrdinal(name));
}
public static int GetInt32(this DbDataReader reader, string name)
{
AssertNotNull(reader);
return reader.GetInt32(reader.GetOrdinal(name));
}
public static long GetInt64(this DbDataReader reader, string name)
{
AssertNotNull(reader);
return reader.GetInt64(reader.GetOrdinal(name));
}
[EditorBrowsable(EditorBrowsableState.Never)]
public static Type GetProviderSpecificFieldType(this DbDataReader reader, string name)
{
AssertNotNull(reader);
return reader.GetProviderSpecificFieldType(reader.GetOrdinal(name));
}
[EditorBrowsable(EditorBrowsableState.Never)]
public static object GetProviderSpecificValue(this DbDataReader reader, string name)
{
AssertNotNull(reader);
return reader.GetProviderSpecificValue(reader.GetOrdinal(name));
}
public static Stream GetStream(this DbDataReader reader, string name)
{
AssertNotNull(reader);
return reader.GetStream(reader.GetOrdinal(name));
}
public static string GetString(this DbDataReader reader, string name)
{
AssertNotNull(reader);
return reader.GetString(reader.GetOrdinal(name));
}
public static TextReader GetTextReader(this DbDataReader reader, string name)
{
AssertNotNull(reader);
return reader.GetTextReader(reader.GetOrdinal(name));
}
public static object GetValue(this DbDataReader reader, string name)
{
AssertNotNull(reader);
return reader.GetValue(reader.GetOrdinal(name));
}
public static bool IsDBNull(this DbDataReader reader, string name)
{
AssertNotNull(reader);
return reader.IsDBNull(reader.GetOrdinal(name));
}
public static Task<bool> IsDBNullAsync(this DbDataReader reader, string name, CancellationToken cancellationToken = default(CancellationToken))
{
AssertNotNull(reader);
return reader.IsDBNullAsync(reader.GetOrdinal(name), cancellationToken);
}
private static void AssertNotNull(DbDataReader reader)
{
if (reader == null)
{
throw new ArgumentNullException(nameof(reader));
}
}
}
}