c# -要求将返回类型赋值给l值
本文关键字:赋值 返回类型 | 更新日期: 2023-09-27 18:12:01
这可能不明智,但我正在寻找一种情况,我希望它是一个编译错误,如果一个方法的返回值未使用。
具体来说,Unity3D实现的协程如下所示:
IEnumerator myCoroutine() {... yield break;}
如果您调用myCoroutine()
并对返回值不做任何事情(例如,您像普通方法一样调用它,而不是从另一个yield子句内部或通过StartCoroutine()方法),结果是myCoroutine()内的所有代码都未执行。但是,没有编译或运行时警告。我希望在这种情况下得到一个编译时错误。
我想到的一种方法是将IEnumerator子类化为MyIEnumerator,它添加了必须以某种方式传递的属性-要么赋值给l值,要么传递给方法,等等。
但是我还没能发现这样的需求是否存在
c#中没有这样的特性。您需要创建某种形式的第三方代码分析工具来尝试查找诸如此类的情况。