CA1306: Nastavte národního prostředí pro datové typy
Zboží | Hodnota |
---|---|
RuleId | CA1306 |
Kategorie | Microsoft.Globalization |
Změna způsobující chybu | Nenarušující |
Příčina
Metoda nebo konstruktor vytvořil jednu nebo více System.Data.DataTable instancí System.Data.DataSet a explicitně nenastavil vlastnost národního prostředí (System.Data.DataTable.Locale nebo System.Data.DataSet.Locale).
Popis pravidla
Národní prostředí určuje prvky prezentace specifické pro jazykovou verzi pro data, jako je formátování použité pro číselné hodnoty, symboly měny a pořadí řazení. Při vytváření DataTable nebo DataSetbyste měli národní prostředí nastavit explicitně. Ve výchozím nastavení je národní prostředí pro tyto typy aktuální jazykovou verzí. Pro data uložená v databázi nebo souboru a sdílená globálně by se národní prostředí mělo obvykle nastavit na invariantní jazykovou verzi (System.Globalization.CultureInfo.InvariantCulture). Při sdílení dat mezi jazykovými verzemi může použití výchozího DataTable národního prostředí způsobit nesprávné zobrazení nebo DataSet interpretaci obsahu.
Jak opravit porušení
Chcete-li opravit porušení tohoto pravidla, explicitně nastavte národní prostředí pro nebo DataTableDataSet.
Kdy potlačit upozornění
Upozornění z tohoto pravidla je bezpečné potlačit, když je knihovna nebo aplikace pro omezenou místní cílovou skupinu, data se nesdílí nebo výchozí nastavení vrátí požadované chování ve všech podporovaných scénářích.
Příklad
Následující příklad vytvoří dvě DataTable instance.
using System;
using System.Data;
using System.Globalization;
namespace GlobalLibrary
{
public class MakeDataTables
{
// Violates rule: SetLocaleForDataTypes.
public DataTable MakeBadTable()
{
DataTable badTable = new DataTable("Customers");
DataColumn keyColumn = badTable.Columns.Add("ID", typeof(Int32));
keyColumn.AllowDBNull = false;
keyColumn.Unique = true;
badTable.Columns.Add("LastName", typeof(String));
badTable.Columns.Add("FirstName", typeof(String));
return badTable;
}
public DataTable MakeGoodTable()
{
DataTable goodTable = new DataTable("Customers");
// Satisfies rule: SetLocaleForDataTypes.
goodTable.Locale = CultureInfo.InvariantCulture;
DataColumn keyColumn = goodTable.Columns.Add("ID", typeof(Int32));
keyColumn.AllowDBNull = false;
keyColumn.Unique = true;
goodTable.Columns.Add("LastName", typeof(String));
goodTable.Columns.Add("FirstName", typeof(String));
return goodTable;
}
}
}
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro