GetType
Метод предоставляет тип объекта для текущего экземпляра класса.
Синтаксис
public Type GetType();
Возвращаемое значение
Экземпляр Type, представляющий точный тип среды выполнения для текущего экземпляра класса.
Исключения
Отсутствуют.
Примеры
1)
// C#
using System;
using System.Data;
using System.Data.Common;
using System.Data.LinterClient;
class GetTypeSample
{
static void Main()
{
// Регистрация фабрики классов провайдера
DbProviderFactories.RegisterFactory("System.Data.LinterClient", typeof(LinterClientFactory));
// Создание фабрики классов провайдера
DbProviderFactory factory =
DbProviderFactories.GetFactory("System.Data.LinterClient");
// Создание объекта DbCommandBuilder
DbCommandBuilder builder = factory.CreateCommandBuilder();
// Создание объекта DbDataAdapter
DbDataAdapter adapter = factory.CreateDataAdapter();
// Создание объекта RemoteServer
RemoteServer server = new RemoteServer();
// Создание объекта string
string str = "СУБД ЛИНТЕР";
// Создание объекта int
int i = 123;
// Создание объекта byte[]
byte[] array = new byte[] { 1, 2, 3 };
// Отображение типов данных
Console.WriteLine("builder: " + builder.GetType());
Console.WriteLine("adapter: " + adapter.GetType());
Console.WriteLine("server: " + server.GetType());
Console.WriteLine("str: " + str.GetType());
Console.WriteLine("i: " + i.GetType());
Console.WriteLine("array: " + array.GetType());
}
}
struct RemoteServer
{
int AccessCode;
string ConnectionString;
}
Результат выполнения примера:
builder: System.Data.LinterClient.LinterDbCommandBuilder
adapter: System.Data.LinterClient.LinterDbDataAdapter
server: RemoteServer
str: System.String
i: System.Int32
array: System.Byte[]
2)
// C#
using System;
using System.Data;
using System.Data.Common;
using System.Data.LinterClient;
using System.Text;
class GetTypeSample
{
static void Main()
{
// Регистрация провайдера кодировок
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
// Регистрация фабрики классов провайдера
DbProviderFactories.RegisterFactory("System.Data.LinterClient", typeof(LinterClientFactory));
// Создание фабрики классов провайдера
DbProviderFactory factory =
DbProviderFactories.GetFactory("System.Data.LinterClient");
// Соединение с БД
DbConnection con = factory.CreateConnection();
con.ConnectionString =
"User ID=SYSTEM;Password=MANAGER8";
// Создание таблицы БД
DbCommand cmd = factory.CreateCommand();
cmd.Connection = con;
cmd.CommandText =
"create or replace table USERS ( " +
"ID integer primary key, NAME varchar(70));" +
"insert into USERS (ID, NAME) values (0, 'Пользователь A');" +
"insert into USERS (ID, NAME) values (1, 'Пользователь B');";
con.Open();
cmd.ExecuteNonQuery();
con.Close();
// Создание объекта DataTable
DataTable users = new DataTable();
users.Columns.Add("ID", Type.GetType("System.Int32"));
users.Columns.Add("NAME", Type.GetType("System.String"));
// Создание объекта DbDataAdapter
DbDataAdapter adapter = factory.CreateDataAdapter();
adapter.SelectCommand = factory.CreateCommand();
adapter.SelectCommand.Connection = con;
adapter.SelectCommand.CommandText =
"select ID, NAME from USERS";
// Заполнение объекта DataTable данными из таблицы БД
adapter.Fill(users);
// Отображение данных таблицы
Console.WriteLine("Данные таблицы:");
foreach (DataRow row in users.Rows)
{
foreach (DataColumn column in users.Columns)
{
Console.Write("{0} | ", row[column.ColumnName]);
}
Console.WriteLine();
}
}
}
Результат выполнения примера:
Данные таблицы:
0 | Пользователь A |
1 | Пользователь B |