Sdílet prostřednictvím


Využití varování

Varování použití podpory řádné využití.NET Framework.

V tomto oddíle

Pravidlo

Description

CA1801: Zkontrolujte nevyužité parametry

Podpis metody obsahuje parametr, který není použit v těle metody.

CA1806: Ignorování výsledky 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.

CA1816: GC volání.Funkce SuppressFinalize správně

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).

CA2200: Rethrow zachovat podrobnosti zásobníku

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.

CA2201: Zvýšení výjimku vyhrazené typy

Díky původní chybě pevného rozpoznat a ladění.

CA2202: Neodstraňovat objekty několikrát

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.

CA2204: Literály by měla být zadána správně

Řetězcový literál v těle metody obsahuje jedno nebo více slov, které nejsou rozpoznávány knihovny kontroly pravopisu Microsoft.

CA2205: Ekvivalenty použití spravovaných rozhraní Win32 API

Platforma vyvolat definována metoda a metoda ekvivalentní funkce existuje v.NET Framework, knihovna tříd.

CA2207: Inicializace vložené statické pole typu hodnota

Typ hodnoty prohlašuje explicitní statický konstruktor.Porušení tohoto pravidla, inicializovat všechny statická data, když je deklarována a odebrat statický konstruktor.

CA2208: Správně konkretizovat výjimky argument

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.

CA2211: Není konstantní pole neměl být viditelný

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.

CA2212: Neoznačovat servisu komponenty s WebMethod

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.

CA2213: By odbyt na jedno použití polí

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á.

CA2214: Nevolejte overridable metody konstruktory

Konstruktor volá virtuální metody, je možné má pro instanci vyvolá metodu konstruktoru není spuštěn.

CA2215: Metody Dispose by volání dispose základní třídy.

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.

CA2217: Neoznačovat výčty s FlagsAttribute

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.

CA2218: GetHashCode přepsat na potlačení rovná se

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.

CA2219: Není vyvolají výjimky v klauzulích výjimky

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.

CA2221: Finalizačních metod by měly být chráněny

Modifikátor přístupu řady, musíte použít finalizačních metod.

CA2222: Zděděný člen viditelnost poklesu

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.

CA2223: Členy by se lišit o více než návratový typ

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ů.

CA2224: Rovná se přepsat na přetížení operátor rovná se

Veřejné typ implementuje operátor rovnosti, ale nezmění Object.Equals.

CA2225: Operátor přetížení jsou pojmenovány alternativy

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.

CA2226: Operátory by měly mít symetricky přetížení

Typ implementuje rovnosti nebo operátor nerovnost a neimplementuje opačné operátor.

CA2227: Kolekce vlastností by měla být jen pro čtení

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.

CA2228: Nedodávejte nevydané prostředku formáty

Soubory prostředků, které byly vytvořeny pomocí předprodejních verzí.NET Framework nemusí být použitelný podporovaných verzí.NET Framework.

CA2229: Implementace serializace konstruktory

Chcete-li opravit porušení tohoto pravidla implementujte konstruktor serializace.Pro zapouzdřené třídy soukromá konstruktor; jinak byl chráněn.

CA2230: Používat parametry pro proměnné argumenty

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.

CA2232: Model Windows Forms značka vstupní body s STAThread

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ě.

CA2233: Operace by není přetečení

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í.

CA2234: Objekty průchod System.Uri namísto řetězce

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.

CA2235: Označit všechna pole není serializovatelný.

Pole instance typu, který není serializovatelný je deklarován v typu serializovatelný.

CA2236: Metody základní třídy volání na typy ISerializable

Opravit porušení tohoto pravidla, volání konstruktoru základní typ GetObjectData metoda nebo serializace odpovídající odvozený typ metody nebo konstruktoru.

CA2237: Typy ISerializable značka s SerializableAttribute

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.

CA2238: Správně implementovat metody serializace

Metoda, která zpracovává události serializace nemá správný podpis, typ nebo viditelnost.

CA2239: Poskytuje metody pro volitelné pole deserialization

Má typ pole, který je označen atributem System.Runtime.Serialization.OptionalFieldAttribute a typ neposkytuje metod zpracování událostí, rušení serializace.

CA2240: Implementace ISerializable správně

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.

CA2241: Poskytnout správné argumenty metody formátování

Formát argumentu předaného System.String.Format neobsahuje položku formátu, která odpovídá na každý objekt argument nebo naopak.

CA2242: Test NaN správně

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.