c# - 在编译时更改返回类型

标签 c# arrays function return-value

我正在用 C# 为一个项目创建一个 UML 类,我想知道是否可以做一些事情并且想在开始编写之前检查一下。

我有一个函数,它获取类数组并根据其索引的“级别”int 返回其中一个类。它使用的数组将始终是相同的数组,但它包含的类将根据玩家输入而有所不同。

有没有一种方法可以将返回类型设置为类似于“undecided”的类型,然后在函数本身中根据数组 [level] 中的任何类设置返回类型?

谢谢

最佳答案

dynamicObject 返回类型都有效(尽管 Object 仅适用于非原始数据类型)

您可能需要考虑 creating an interface返回类型并在您可能的返回值类中实现它。

interface IReturnType
{
  void Do();
}

和:

class AReturnType : IReturnType
{
  void Do()
  {
    //do something
  }
}

class BReturnType : IReturnType
{
  void Do()
  {
    //do something else
  }
}

用法是:

List<IReturnType> MyFunction( List<ConstantClass> constantClasses );

编辑:这不会在编译时改变返回类型,这只是一种不同的方法:)

关于c# - 在编译时更改返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27668421/

相关文章:

c# - 从没有 DoEvents 的 WebBrowser 控件获取 ReadyState

c# - Nhibernate 不级联删除

c++ - 动态分配数组的地址会根据数组的声明方式而变质吗?

c# - 我可以使用 foreach 和初始声明 reshape 该代码吗

javascript - 是否可以从javascript Function 对象继承?

c# - 小数的不同位整数内的显着性能差异

c# - 如何创建以点为前缀的 cookie uri?

c++ - C++中数组的构造函数初始化列表

c++ - 当返回对象的函数在没有返回语句的情况下结束时会发生什么

java - Android 静态函数