Динамическое форматирование строки в c # - PullRequest
1 голос
/ 10 июня 2011

Я создал метод журнала, который принимает строку.Когда я хочу использовать это, я пишу что-то вроде:

Log(string.Format("Message {0}", AdditionalInfo));

Как мне реализовать метод Log, чтобы можно было использовать строку Format, но не нужно писать это явно в аргументах метода:

Log("Message {0}", AdditionalInfo);

Я использую .net 2.0

Ответы [ 5 ]

5 голосов
/ 10 июня 2011
public void Log(string formatString, params object[] parameters)
{
    Log(String.Format(formatString, parameters));
}
4 голосов
/ 10 июня 2011
public void Log(string format, params object[] args)
{
    DoTheLog(string.Format(format, args));
}
2 голосов
/ 10 июня 2011
void Log(string format, params object[] args)
{
  Log(string.Format(format, args));
}
1 голос
/ 10 июня 2011

Попробуйте что-то вроде:

public void Log(string format, params object[] arguments)
{
    string message = string.Format(format, arguments);
    // Do something with message.
}
0 голосов
/ 10 июня 2011

Возможно, вы могли бы написать оболочку для вашего метода журнала. Я надеюсь, что-то вроде этого работает.

public void Log(string format, object args)
{
    Do_Log(string.Format(format, args))
}

Теперь вы можете использовать Do_Log () как приватное и не предоставлять его пользователям вашего класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...