The example below shows that you can use interfaces with a singleton class (which is not possible with a static class.)
/ .
, , , , , .
public sealed class Settings : IUserStettings, IOSettings
{
static readonly Settings instance = new Settings();
static Settings(){ }
Settings(){ }
public static Settings Instance
{
get { return instance; }
}
public string UserName
{
get { throw new NotImplementedException(); }
}
public string filename
{
get { throw new NotImplementedException(); }
}
}
public interface IOSettings
{
string disk {get;}
string path { get; }
string filename { get; }
}
public interface IUserStettings
{
string UserName { get; }
string Password { get; }
}
, :
IOSettings iosettings = Settings.Instance as IOSettings;
if(iosettings!=null){
Filereader.ReadData(IOSettings iosettings);
}
IUserSettings usersettings = Settings.Instance as IUserSettings;
if(usersettings!=null){
UserManager.Login(IUserSettings usersettings);
}