在C#中,typeof
關(guān)鍵字主要用于獲取一個(gè)類(lèi)型的類(lèi)型信息。它不能直接用于接口實(shí)現(xiàn),但是你可以使用typeof
來(lái)獲取接口類(lèi)型的類(lèi)型信息,然后使用這個(gè)信息來(lái)處理實(shí)現(xiàn)了該接口的對(duì)象。
例如,假設(shè)你有一個(gè)接口IMyInterface
和一個(gè)實(shí)現(xiàn)了該接口的類(lèi)MyClass
:
public interface IMyInterface
{
void MyMethod();
}
public class MyClass : IMyInterface
{
public void MyMethod()
{
Console.WriteLine("MyMethod called.");
}
}
要檢查一個(gè)對(duì)象是否實(shí)現(xiàn)了IMyInterface
接口,你可以使用is
關(guān)鍵字:
object obj = new MyClass();
if (obj is IMyInterface)
{
IMyInterface myInterface = (IMyInterface)obj;
myInterface.MyMethod();
}
else
{
Console.WriteLine("Object does not implement IMyInterface.");
}
如果你想要使用typeof
來(lái)獲取接口類(lèi)型的類(lèi)型信息,可以這樣做:
Type interfaceType = typeof(IMyInterface);
Console.WriteLine($"The type of IMyInterface is: {interfaceType}");