Этот принцип называется «шаблонизация строк».Проведите исследование, чтобы найти существующие решения.Если вы не хотите использовать существующие решения, сверните свое собственное.
Вы можете сделать это, введя заполнители в строку шаблона:
var templateString = "View all the details {WorkName} this task is working {Cjworkmode} - {Cjtimeperiod}";
Не путать с интерполяцией строк,поскольку эти заполнители не известны во время компиляции.
Затем, например, используя регулярное выражение, найти все совпадения в строке:
var placeHolderRegEx = new Regex(@"(\{([a-z]+)\})", RegexOptions.IgnoreCase);
// Copy the string to be templated
var output = templateString;
foreach (Match match in placeHolderRegEx.Matches(templateString))
{
// Replace each instance of `{x}` with the value of `drmail[x]`.
output = output.Replace(match.Groups[1].Value, drmail[match.Groups[2].Value]);
}