正如标题所说,如果方法包含任何带有“out”的参数,则忽略此属性,这是一个错误吗?有谁知道 C# 中的另一个属性在这种情况下会引发错误/警告?
(添加了统一标签,因为这发生在统一中,没有在独立项目上测试它)
如果您想知道为什么我需要这样的属性,则适用于返回值是 IDisposable 对象的情况,一旦不再使用带有“out”的参数,就需要释放该对象。例如:
[JetBrains.Annotations.MustUseReturnValue]
public PooledObject<List<Character>> GetCharactersOnSide(bool isLeftSide, out List<Character> characters)
{
PooledObject<List<Character>> pool = ListPool<Character>.Get(out characters);
foreach (Character character in _characters)
if (character.IsLeftSide == isLeftSide)
characters.Add(character);
return pool;
}
编辑 1:感谢@Ruzihm,我现在知道这个问题已经在https://youtrack.jetbrains.com/issue/RSRP-486462上报告了。
然而,我仍在寻找解决方法,当我找到一个时会更新帖子。