Conjunto de localidade para tipos de dados
TypeName |
SetLocaleForDataTypes |
CheckId |
CA1306 |
Category (Categoria) |
Microsoft.globalização |
Quebrando alterar |
Não separável |
Causa
Um método ou construtor criado um ou mais System.Data.DataTable ou System.Data.DataSet instâncias e não explicitamente fez conjunto (a propriedade) localidadeDataTable.Locale ou DataSet.Locale).
Descrição da regra
A localidade determina sistema autônomo elementos da apresentação específicos da cultura para dados, sistema autônomo formatação usado para valores numéricos, símbolos de moeda e ordem de classificar.Quando você cria um DataTable ou DataSet, você deve conjunto explicitamente a localidade. Por padrão, a localidade para esses tipos de é a cultura corrente.Para dados que são armazenados em um arquivo ou banco de dados e são compartilhados globalmente, a localidade normalmente deve ser definida para a cultura invariável (CultureInfo.InvariantCulture). Quando dados são compartilhados entre culturas, usando a localidade padrão pode causar o Sumário do DataTable ou DataSet a ser apresentados ou interpretados incorretamente.
Como corrigir violações
Para corrigir uma violação dessa regra, conjunto explicitamente a localidade para o DataTable ou DataSet.
Quando suprimir avisos
É seguro eliminar um aviso da regra quando a biblioteca ou aplicativo é para um audiência limitado de local, os dados não estão compartilhados ou a configuração padrão produz o comportamento desejado em todos os cenários com suporte.
Exemplo
O exemplo a seguir cria dois DataTable instâncias.
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;
}
}
}