Dim cultureInfo As System.Globalization.CultureInfo = System.Threading.Thread.CurrentThread.CurrentCulture Dim textInfo As System.Globalization.TextInfo = cultureInfo.TextInfo
Return textInfo.ToTitleCase(inputString.ToLower()) End Function
Dim cultureInfo As System.Globalization.CultureInfo = System.Threading.Thread.CurrentThread.CurrentCulture Dim textInfo As System.Globalization.TextInfo = cultureInfo.TextInfo
Return textInfo.ToTitleCase(inputString.ToLower()) End Function
Por exemplo no código abaixo uso reflection para pegar o nome do método onde a exception foi gerada.
Utilizo o getype().tostring para pegar o nome do objeto e com MethodBase.GetCurrentMethod().Name pego o nome do método , assim logo o nome da classe e do método onde o erro ocorreu, poderia estar logando o tempo de execução do método.
…..
catch (Exception ex) {
retorno = false;
System.Diagnostics.Trace.WriteLine(this.GetType().ToString() + " – " + System.Reflection.MethodBase.GetCurrentMethod().Name + "[" + ex.Message + "]");
}
Para uma visão geral dos recursos da utilização de Reflection sugiro os links : http://www.linhadecodigo.com.br/ArtigoImpressao.aspx?id=264
e http://iamacamera.org/default.aspx?section=home&id=58
var1 = "teste";
var2 = "Teste";
if (var1 == var2)
//aos olhos do programador inexperiente o código deveria executar essa parte
else
// mas como a comparacao é case sensitive o bloco executado será esse
/////////////////////// Para corrigir esse pequeno Bug devemos usar o código abaixo //////////////////////////////////
if (var1.Equals(var2, StringComparison.OrdinalIgnoreCase))
// Agora sim esse código sera executado
else
//E esse sera ignorado
Outra forma de evitar esse erro seria usar a função ToLower (caixa baixa) ou ToUpper (caixa baixa) para que ambos as variaveis fiquem com a mesma caixa.
Links de referência:
http://msdn.microsoft.com/en-us/library/system.stringcomparison.aspx
http://msdn.microsoft.com/en-us/library/ms973919.aspx
Embora o uso do ToString seja bem comodo para nós , acaba nos trazendo uma dor de cabeça desnecessária, pois para usar o ToString temos que garantir que o valor não seja um nulo ou o famoso dbnull , senão uma exception nos aguarda.
Poucos sabem que existe uma maneira simples de corrigir isso que é utilizando o Convert.toString , no código abaixo se executado vocês poderam ver que o erro de conversão só ocorre na linha do tostring … ![]()
Dim teste As Object = Nothing
Dim teste2 As String
teste2 = Convert.ToString(teste)
teste2 = teste.ToString()
Dim
valor As String = "200" Dim valor2 As Integer Dim valor3 As Booleanvalor3 =
Integer.TryParse(valor, valor2)Podemos utilizar esse método para validar data , assim como validar um endereço de IP. O código abaixo ira validar se o valor é um ip válido.
Dim
ip1 As String = "200.200.1.2"
Dim valor4 As Boolean
Dim ip As System.Net.IPAddress
valor4 = System.Net.IPAddress.TryParse(ip1, ip)
Então agora na versão 2.0 não tem mais desculpa para utilizarmos a geração de exception para esses casos, o que deve ser sempre ser evitado…. pois como o nome mesmo diz exception deve ser uma excessão …
… e não um fluxo nomal do seu código.
Public
Class ImageButtonAkamae Inherits ImageButtonPrivate Sub ImageButtonAkamae_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init If (Me.CommandName IsNot Nothing) AndAlso (Me.CommandName.ToUpper() = "DELETE") Then Me.OnClientClick = "return (confirm(‘Confirma exclusão?’));" End If End Sub
End
Class