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

Soukromému poli 'field' je přiřazena hodnota, ale nikdy není použita.

Poznámka:

Toto upozornění se hlásí pouze během explicitních operací sestavení nebo opětovného sestavení . Nezobrazuje se během psaní v integrovaném vývojovém prostředí jako součást diagnostiky IntelliSense. To znamená, že pokud varování opravíte použitím pole nebo ho odstraníte, může varování v seznamu chyb přetrvávat, dokud projekt neprovedete nebo znovu neprovedete.

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 na několika místech, 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é