【问题标题】:Using Java equivalent Reflection in C#在 C# 中使用 Java 等效反射
【发布时间】:2014-03-13 04:28:36
【问题描述】:

在Java中有一种写抽象方法的方法:

abstract public Class<? extends A> getAClass();

这将返回任何扩展类“A”的类。

有没有办法在 C# 中实现这一点?

【问题讨论】:

  • 使该方法抽象化的目的是什么? java 中有一个内置的 public final Class getClass() 和 C# 中的 getType() 等效
  • 还有一件事——你想如何在这样的模型中返回 1 个类定义?你说 ANY 但返回 1
  • 其实抽象方法就像抽象公共类 getAClass();
  • 仍然不明白目的,但在 C# 中它将是:abstract public Type getAClass() where T:A 更多信息:msdn.microsoft.com/en-us/library/bb384067.aspx
  • 感谢随机它的工作..

标签: c#-4.0


【解决方案1】:

试试:

abstract public Type getAClass<T>() where T:A 

更多信息 - where (generic type constraint) (C# Reference)

【讨论】:

  • 我想要的是这个方法应该返回任何类型,它是 A 的子类。所以如果我使用这个方法,它应该是这样的 "Type obj= getAClass()";但是这里我们需要通过调用此方法的参数,例如“Type obj=getAClass()”,其中 T 是派生类
  • 你能用一些你打算使用的例子和类结构来编辑你的问题吗?
猜你喜欢
  • 1970-01-01
  • 2011-01-30
  • 2011-07-13
  • 1970-01-01
  • 2011-06-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-06
  • 2013-09-05
相关资源
最近更新 更多