Maneira correta de obter nome de usuário e senha da string de conexão? [duplicado

Esta pergunta já tem uma resposta aqui:

Obtenha usuário e senha de ConnectionStringSettings 11 respostas

Tenho uma cadeia de conexão como esta:

"SERVER=localhost;DATABASE=tree;UID=root;PASSWORD=branch;Min Pool Size = 0;Max Pool Size=200"

Como obtenho os vários parâmetros do banco de dados? Posso obter o nome do banco de dados e o servidor como este:

serverName = conObject.DataSource;
dbName = conObject.Database;

Eu preciso do nome de usuário e senha também. Nenhuma propriedade está definida no objeto MySqlConnectio

No momento, eu faço assim:

public static void GetDatabaseParameters(string connectionString, out string serverName, out string dbName, out string userName, out string password)
{
    Match m = Regex.Match(connectionString, "SERVER=(.*?);DATABASE=(.*?);UID=(.*?);PASSWORD=(.*?);.*");

    //serverName = m.Groups[1].Value;
    //dbName = m.Groups[2].Value;
    userName = m.Groups[3].Value;
    password = m.Groups[4].Value;
}

Existe uma prática aceita aqui?

questionAnswers(2)

yourAnswerToTheQuestion