首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何确定接口包含哪些类?

如何确定接口包含哪些类?
EN

Stack Overflow用户
提问于 2014-04-12 22:08:33
回答 3查看 102关注 0票数 0

我有一组属于接口的类;

代码语言:javascript
复制
public  class Platform : IGraphic
{
}

public class Decal : IGraphic
{
}

public class Character : IGraphic
{
}

public interface IGraphic
{
}

如果我将一个IGraphic值设置为指向像这样的Decal;

代码语言:javascript
复制
IGraphic graphic = new Decal();

在以后的某个时候,我如何确定接口被设置为哪个类?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-04-12 22:15:13

可以通过以下方法确定接口的实现:

代码语言:javascript
复制
graphic.GetType()
票数 1
EN

Stack Overflow用户

发布于 2014-04-12 22:25:07

首先,类不属于接口,它们可以实现它。现在,在我们定义了它之后,您可以看到实现接口使您能够知道这些方法是在实现接口的每个类中实现的。因此,您的问题是向后的,您可以为每个类实现不同的方法,这样您就不必知道对象的类型。

如果你坚持知道类型,你可以使用反射。我建议你尽量少使用反射。如果你不想描述你的程序的目的,也许我们可以帮助你避免反射(通常-一个更好的架构)

票数 1
EN

Stack Overflow用户

发布于 2014-04-12 22:13:56

使用graphic.GetType()

这将获得实例的Type

注意,这适用于每种对象,而不仅仅是接口。

你也可以想象

代码语言:javascript
复制
if (graphic is Platform)

代码语言:javascript
复制
if (graphic is Decal)

等。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23036719

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档