CSharp 实现强制类型限定
之前偶然有些灵感,想着如果遇到了如下情景,需要此处的 object 只能是某种特定类型,比如实现了 ITestInterface
这个接口,那么大概会写成下面这样。
1 | public void Method(object obj) |
这样做自然没啥问题,但是只有到运行时才知道 obj 的类型到底符不符合要求,那么能不能把检查提前到编译期呢?也就是在编写代码的时候就能够很大程度避免使用不合要求的类型。
对于 C# 来说,其实可以写一个诊断分析器来实现。
以下使用 Unity 2022.3 对应的环境