[OFF] DUVIDA SIMPLES, MÉTODO STATICO

JORGESALES 06/03/2017 23:39:10
#472235
Pessoal, boa noite (ou bom dia...) procurando sempre trabalhar com economia de códigos,
digitação e quem sabe um dia usar a tão sonhada orientação ao objeto estava assistindo a
um tutorial onde o código abaixo foi criado para exibir mensagens:
private void MensagemOk(string messagem)
{
MessageBox.Show (messagem, [Ô]Sistema de Segurança[Ô], MessageBoxButtons.OK, MessageBoxIcon.Information);
}

Ele criou um desses para mensagens de erro também, até aí eu entendi, a minha dúvida
seria se ao invés de criar um desses em cada formulário não seria melhor criar uma classe
e colocar esses métodos como staticos?
Assim poderia ser chamado em qualquer parte do projeto sem precisar instanciar
e se fosse fazer alterações não precisaria alterar em todos os formulários
(vai que você tenha uns 50....).
Estou perguntando isso apenas para saber se a minha visão sobre aproveitamento
de código e boas práticas de programação estão no caminho certo.

Agradeço desde já a quem possa contribuir com opiniões e experiências.
KERPLUNK 07/03/2017 00:48:39
#472237
Resposta escolhida
Eu acho que sim, você está no caminho certo! Se você quer que qualquer string seja exibida em forma de mensagem, basta você usar um método de extensão, colocado em uma classe estática. Assim, basta instanciar uma string qualquer e exibir como uma mensagem. Mais ou menos assim:

using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public static class Extensoes
{
public static void Mensagem(this string Texto)
{
MessageBox.Show(Texto);
}
}
}

Coloque essa classe em qualquer arquivo dentro do seu projeto Windows Forms e pode chamá-lo de qualquer lugar, assim:

[Ô]seu texto aqui[Ô].Mensagem();


O único detalhe: o namespace da classe acima está [Ô]WindowsFormsApplication1[Ô], coloque o namespace padrão de sua aplicação.

Você pode inclusive criar variações do mesmo método [Ô]Mensagem[Ô]:

public static void Alerta(this string Texto, string Titulo)
{
MessageBox.Show(Texto, Titulo, MessageBoxButtons.OK, MessageBoxIcon.Warning);
}

Que você chamaria assim:

[Ô]Seu texto aqui[Ô].Alerta([Ô]Titulo da janela[Ô]);


Bacana não é?
JORGESALES 07/03/2017 10:05:10
#472241
Obrigado Kerplunk por mais essa dica, muito bom saber que estou
no caminho certo.
Estou assistindo a muitos tutoriais e sem nenhuma
demagogia gostaria de lhe dizer que você é o único que vi dominando
os atalhos do C#, a maioria fica digitando um monte de coisas [Ô]desenessárias[Ô]
que seriam feitas facilmente pelos atalhos.
Tópico encerrado , respostas não são mais permitidas