Метод GetInterfaces
Список всех интерфейсов
string в вывод не кладут.
У класса
Gate : IDisposable
длина массива -
1, элемент -
typeof(IDisposable).
Признак интерфейса -
IsInterface.
Синтаксис
Type[] interfaces = type.GetInterfaces();
Пример
Давайте прочитать число контрактов
Gate:
using System;
class Gate : IDisposable
{
public void Dispose() { }
}
class Program
{
static void Main()
{
int res = typeof(Gate).GetInterfaces().Length;
Console.WriteLine(res);
}
}
Результат выполнения кода:
1
Пример
Давайте прочитать первый контракт:
using System;
class Gate : IDisposable
{
public void Dispose() { }
}
class Program
{
static void Main()
{
bool res = typeof(Gate).GetInterfaces()[0]
== typeof(IDisposable);
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Пример
Давайте проверить, что у
int нет своих контрактов
кроме унаследованных:
using System;
class Program
{
static void Main()
{
bool res = typeof(int).GetInterfaces().Length >= 0;
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Смотрите также
-
свойство
IsInterface,
это контракт -
метод
IsAssignableFrom,
можно ли присвоить -
свойство
IsClass,
это класс -
Type,
описание типа