Využití varování
Varování použití podpory řádné využití.NET Framework.
V tomto oddíle
Pravidlo |
Description |
---|---|
Podpis metody obsahuje parametr, který není použit v těle metody. |
|
Nový objekt je vytvořen, ale nikdy použity; nebo je volána metoda, která vytvoří a vrátí nový řetězec a nový řetězec nikdy použity; nebo metodu COM nebo P/Invoke vrátí kód HRESULT nebo chyba, která nikdy použita. |
|
Metoda, která je implementací Dispose nevyvolá GC.Funkce SuppressFinalize; nebo volá metodu, která není implementace Dispose GC.Funkce SuppressFinalize; nebo volání metody GC.Funkce SuppressFinalize a průchodů než tento (Me v jazyce Visual Basic). |
|
Výjimkou je re-thrown a výjimky výslovně uvedeny v příkazu throw.Jestliže je výjimka re-thrown zadáním příkazu throw výjimka, volání metody mezi původní metoda, která vyvolala výjimku a aktuální seznam ztracen. |
|
Díky původní chybě pevného rozpoznat a ladění. |
|
Implementace metody obsahuje cesty kódu, které by mohly způsobit více volání System.IDisposable.Dispose nebo ekvivalent Dispose (například metoda Close() na některé typy) na stejný objekt. |
|
Řetězcový literál v těle metody obsahuje jedno nebo více slov, které nejsou rozpoznávány knihovny kontroly pravopisu Microsoft. |
|
Platforma vyvolat definována metoda a metoda ekvivalentní funkce existuje v.NET Framework, knihovna tříd. |
|
Typ hodnoty prohlašuje explicitní statický konstruktor.Porušení tohoto pravidla, inicializovat všechny statická data, když je deklarována a odebrat statický konstruktor. |
|
Při volání do výchozí konstruktor (bez parametrů) typu Výjimka, nebo je odvozen z ArgumentException nebo je předán nesprávný řetězec argument s parametry konstruktoru typu Výjimka, nebo je odvozen z ArgumentException. |
|
Statické pole, která jsou konstanty ani jsou jen pro čtení není bezpečné podprocesy.Přístup k takové pole musí být pečlivě kontrolován a vyžaduje pokročilé programovací techniky pro synchronizaci přístupu k objektu třídy. |
|
Metoda typu, které dědí z System.EnterpriseServices.ServicedComponent je označen System.Web.Services.WebMethodAttribute.Protože atributu WebMethodAttribute a metoda ServicedComponent mají konfliktní chování a požadavky na kontextu a transakcí toku, bude v některých případech nesprávné chování metody. |
|
Pole, která jsou typy, které také implementovat IDisposable prohlašuje, typ, který implementuje System.IDisposable.Metody Dispose deklarující typ metody Dispose pole není volá. |
|
Konstruktor volá virtuální metody, je možné má pro instanci vyvolá metodu konstruktoru není spuštěn. |
|
Pokud typ dědí z jednorázových typu, ho musí ze své vlastní metody Dispose volání metody Dispose základního typu. |
|
CA2216: Na jedno použití typů by měla deklarovat finalizačních metod |
Typ, který implementuje System.IDisposable a obsahuje pole, která navrhnout použití nespravované prostředky neimplementuje finalizačních metod podle Object.Finalize. |
Externě viditelné výčtu je označeno FlagsAttribute a má jednu nebo více hodnot, které nejsou pravomoci dvou nebo kombinací jiných definované hodnoty výčtu. |
|
GetHashCode vrátí hodnotu na základě aktuální instance, který je vhodný pro zatřiďovací algoritmy a datové struktury, jako jsou například tabulky hash.Dva objekty, které jsou stejného typu a stejné musí vrátit stejný kód hash. |
|
Když je vyvolána výjimka v a nakonec nebo poruchy klauzule, nové výjimky skryje aktivní výjimku.Pokud v klauzuli filtru je vyvolána výjimka, doba zpracování tiše úlovky výjimku.Díky původní chybě pevného rozpoznat a ladění. |
|
CA2220: Finalizačních metod by měl zavolat finalizačních metod základní třídy. |
Dokončení musí šířených prostřednictvím hierarchii dědičnosti.Pro zaručení této musí typy ve vlastní metodu Finalize volat metodu Finalize jejich základní třídy. |
Modifikátor přístupu řady, musíte použít finalizačních metod. |
|
Modifikátor přístupu by neměl měnit zděděné členy.Změna zděděných členů na soukromé nebrání volajícím přístup k provádění metody základní třídy. |
|
Přestože společný jazykový modul runtime umožňuje používat návratové typy rozlišení mezi jinak identické členů, tato funkce není ve společné specifikace jazyka ani je jeho běžné funkce.NET programovacích jazyků. |
|
Veřejné typ implementuje operátor rovnosti, ale nezmění Object.Equals. |
|
Byl zjištěn při přetížení operátor a očekávané pojmenované alternativní metoda nebyla nalezena.Pojmenované jiný člen poskytuje přístup ke stejné funkce jako operátor a je k dispozici pro vývojáře, kteří program v jazycích, které nepodporují přetížené operátory. |
|
Typ implementuje rovnosti nebo operátor nerovnost a neimplementuje opačné operátor. |
|
Vlastnost zapisovatelný kolekce umožňuje nahradit kolekce do jiné kolekce.Zastaví sběr z nahrazovaného vlastnost jen pro čtení, ale stále umožňuje nastavit jednotlivé členy. |
|
Soubory prostředků, které byly vytvořeny pomocí předprodejních verzí.NET Framework nemusí být použitelný podporovaných verzí.NET Framework. |
|
Chcete-li opravit porušení tohoto pravidla implementujte konstruktor serializace.Pro zapouzdřené třídy soukromá konstruktor; jinak byl chráněn. |
|
Typ veřejné nebo chráněné obsahuje veřejné nebo chráněné metody, která používá konvenci volání VarArgs namísto klíčové slovo params. |
|
CA2231: Přetížení operátor rovná se na přepsání ValueType.Equals |
Typ hodnoty přepíše Object.Equals ale neimplementuje operátor rovnosti. |
Attribut znamená, že COM, model pro používání podprocesů typu apartment jedním podprocesem.Tento atribut musí být vstupní bod všechny aplikace používající model Windows Forms; Pokud je vynechán, součásti systému Windows nemusí pracovat správně. |
|
Aritmetické operace by nebyla provedena bez první operandy, zda výsledek operace není mimo rozsah možných hodnot pro se datové typy ověřování. |
|
Je provedeno volání metody, která má parametr řetězec, jehož název obsahuje "uri", "Identifikátor URI", "urn", "URN", "url" nebo "Adresa URL".Deklarující typ metody obsahuje odpovídající přetížení metody, která má parametr System.Uri. |
|
Pole instance typu, který není serializovatelný je deklarován v typu serializovatelný. |
|
Opravit porušení tohoto pravidla, volání konstruktoru základní typ GetObjectData metoda nebo serializace odpovídající odvozený typ metody nebo konstruktoru. |
|
Chcete-li být uznána podle společného jazykového modulu runtime serializovat, typy musí být označeny atributem SerializableAttribute i v případě, že typ používá vlastní serializaci rutina prostřednictvím implementace rozhraní ISerializable. |
|
Metoda, která zpracovává události serializace nemá správný podpis, typ nebo viditelnost. |
|
Má typ pole, který je označen atributem System.Runtime.Serialization.OptionalFieldAttribute a typ neposkytuje metod zpracování událostí, rušení serializace. |
|
Oprava porušení tohoto pravidla, viditelné a overridable provést metodu GetObjectData a zahrnuty do procesu serializace nebo výslovně označen atributem NonSerializedAttribute všechna pole instance. |
|
Formát argumentu předaného System.String.Format neobsahuje položku formátu, která odpovídá na každý objekt argument nebo naopak. |
|
Tento výraz testy hodnotu proti Single.Nan nebo Double.Nan.Testování hodnoty pomocí Single.IsNan(Single) nebo Double.IsNan(Double). |
|
CA2243: Atribut řetězcové literály by měla analyzovat správně |
Literál parametr řetězec atributu nesprávně analyzuje adresu URL, identifikátor GUID nebo verze. |