Você precisa aprender usar os padrões da linguagem (using), caso contrário vai ficar reinventando a roda e muito provavelmente ela sairá quadrada. Fazer a roda redondinha, pelo menos neste caso, é bem complicado, se não tiver certeza que consegue, é melhor a roda pronta.
Eu estava procurando exemplos no site da Microsoft e fiquei de boca aberta porque eles postaram alguns que induzem à práticas ruins. Eu sei que é só um exemplo lá e que não traria consequências ruins, mas para quem é leigo, lê aquilo e acha que o correto é daquela forma para tudo.
Achei exemplos de classe utilitária para o que você quer. Não sei se ela serve exatamente aos seus propósitos, mas é o caminho.
Enfim, o assunto é complexo, se você não se dedicar bastante em cima dele, vai causar um caos na sua aplicação.
Quando tiver um código mais pronto poste ele em outra pergunta e peça peer review de forma clara para ver se você está no caminho certo.