Например, могу ли я создать синглтон, который записывает в файлы, а затем использовать его в нескольких потоках для одновременной записи в разные файлы? Или есть какой-то нежелательный побочный эффект, о котором я не думаю? Это сложно проверить каждый сценарий в демо-приложении, поэтому надеялся на некоторые рекомендации. Средство записи файла Singleton выглядит следующим образом.
public sealed class CustomFileWriter
{
private static CustomFileWriter(){}
public static CustomFileWriter Instance
{
get
{
lock (padlock)
{
if (instance == null)
{
instance = new CustomFileWriter();
}
return instance;
}
}
}
WriteToFile(string fileName, string contents)
{
// other business logic goes here that is not specific to the question.
File.AppendAllText(fileName, contents)
}
}