Articles of anulável

InvalidCastException tentando converter de um int de checkbox para um enum anulável

Eu tenho um enum, Foo : public enum Foo { Alpha, Bravo, Charlie } Se eu tentar o seguinte casting de um box int para um Foo? , Recebo um InvalidCastException : var x = (Foo?)(object)1; Isso me levou a alguma experimentação … var x = (Foo)(object)1; // succeeds var x = (long)(object)1; // fails […]

Consulta LINQ Join (com ref anulável entre tabela)

Eu tenho 3 mesa. Por exemplo, cliente , empresa e endereço . O cliente obteve ref a empresa. A empresa tem 2 referências anuláveis ​​para Endereço (Faturamento e Remessa), portanto, o Endereço pode não existir em alguns casos. Eu preciso fazer consulta de junit, mas no caso quando Company.BillingAddress ou Company.ShippingAddress é igual a null […]

Como a atribuição do literal nulo a um tipo System.Nullable é manipulada por .Net (C #)?

Eu queria saber se alguém sabe como o compilador C # lida com a seguinte atribuição: int? myInt = null; Minha suposição é que há uma conversão implícita executada, mas não consigo descobrir como a atribuição literal nula é tratada. Eu desmembrou o object System.Nullable e descobri que o operador implícito foi substituído por: public […]

Conversão entre tipos anuláveis

Existe um conversor no .NET 4.0 que oferece suporte a conversões entre tipos anuláveis ​​para encurtar instruções como: bool? nullableBool = GetSomething(); byte? nbyte = nullableBool.HasValue ? (byte?)Convert.ToByte(nullableBool.Value) : null;

REST com tipos anuláveis?

Eu bati em uma parede de tijolos. Minha implementação REST não aceita valores anuláveis. [OperationContract] [WebInvoke(ResponseFormat = WebMessageFormat.Json, UriTemplate = “/Transactions?AccNo={AccNo}&CostCentreNo={CostCentreNo}&TransactionType={TransactionType}&Outstanding={Outstanding}&CheckStartDate={CheckStartDate}&CheckEndDate={CheckEndDate}”)] List GetTransactions(Int32 AccNo, Int32 CostCentreNo, Int32 TransactionType, Boolean Outstanding, DateTime? CheckStartDate, DateTime? CheckEndDate); Considerando que minha implementação SOAP original faz. Então, há uma maneira de contornar isso? Ou eu tenho que rewrite meu código? […]

Por que o TargetNullValue atualiza a fonte anulável

TargetNullValue deve atualizar o Target da binding quando a Source da binding for avaliada como null : Obtém ou define o valor que é usado no destino quando o valor da fonte é nulo. Além disso, também parece definir a Source como null (se possível), quando o valor de Target é igual a determinado TargetNullValue […]

Definir propriedade Nullable por reflection

Eu tento definir uma propriedade Nullable dinamicamente. Eu recebo minha propriedade ex: PropertyInfo property = class.GetProperty(“PropertyName”); // My property is Nullable at this time So the type could be a string or int Eu quero definir minha propriedade pela reflection como property.SetValue(class,”1256″,null); Não está funcionando quando minha propriedade é um Nullable Generic. Então eu tento […]

É possível usar o operador? e lançar nova exceção ()?

Eu tenho vários methods fazendo o seguinte: var result = command.ExecuteScalar() as Int32?; if(result.HasValue) { return result.Value; } else { throw new Exception(); // just an example, in my code I throw my own exception } Eu gostaria de poder usar o operador ?? como isso: return command.ExecuteScalar() as Int32? ?? throw new Exception(); mas […]

Como o .Net permite que os Nullables sejam definidos como nulos

O tipo Nullable é definido como uma struct . No .net, você não pode atribuir null a um struct porque structs são tipos de valor que não podem ser representados com null (com exceção de Nullable ). int i = null; // won’t compile – we all know this int? i = null; // will […]

Ganho de desempenho do C # retornando um tipo anulável de um SqlDataReader

Eu tenho um método simples que retorna um Nullable Int32 de um DataReader em vez do construído em GetInt32. Eu estou chamando este método muitas vezes e tenho uma situação onde qualquer momento que eu possa me livrar dele seria benéfico. Alguém pode sugerir alguma alternativa e maneiras mais rápidas de obter um Int32 anulável […]