Číst v angličtině

Sdílet prostřednictvím


Upozornění kompilátoru (úroveň 3) CS0414

Soukromé pole pole je přiřazeno, ale jeho hodnota se nikdy nepoužívá.

K tomuto upozornění může dojít v několika scénářích, ve kterých kompilátor může ověřit, že se na proměnnou nikdy neodkazuje:

  • Privátní pole má přiřazenou konstantní hodnotu, ale nikdy se nepřečte. Nepotřebné přiřazení by mohlo mít vliv na výkon. Zvažte odebrání pole.

  • Privátní nebo interní statické pole má přiřazenou konstantní hodnotu pouze v inicializátoru. Zvažte změnu pole na const.

  • Privátní nebo interní pole má přiřazené konstantní hodnoty a používá se pouze v blocích, které jsou vyloučeny direktivou #ifdef. Zvažte vložení pole do bloku #ifdef.

  • Privátní nebo interní pole má přiřazené konstantní hodnoty ve více umístěních, ale jinak se k němu nepřistupuje. Pokud pole nepotřebujete, zvažte jeho odebrání. Jinak ho použijte nějakým vhodným způsobem.

V jiných situacích nebo v případě, že navrhované alternativní řešení není přijatelné, použijte #pragma 0414.

Následující ukázka ukazuje jeden ze způsobů, jak se vygeneruje CS0414:

// CS0414
// compile with: /W3
class C
{
   private int i = 1;  // CS0414

   public static void Main()
   { }
}

Poznámka

Pokud je proměnná i deklarována jako protected nebo public, nebude generována žádná chyba, protože kompilátor nemůže zjistit, jestli ji odvozená třída může použít, nebo může vytvořit instanci jiného klientského kódu třídy a odkazovat na proměnnou.

Viz také