1

正如标题所说,如果方法包含任何带有“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上报告了。

然而,我仍在寻找解决方法,当我找到一个时会更新帖子。

4

0 回答 0