public class Singleton<T> where T : class
{
protected Singleton() { }
private sealed class SingletonCreator<S> where S : class
{
private static readonly S instance = (S) typeof(S).GetConstructor(
BindingFlags.Instance | BindingFlags.NonPublic,
null,
new Type[0],
new ParameterModifier[0]).Invoke(null);
public static S CreatorInstance
{
get { return instance; }
}
}
public static T Instance
{
get { return SingletonCreator<T>.CreatorInstance; }
}
}
Monodevelop on Debian + Singleton
Юзал свой вариант класса-потомка для классов-синглтонов, попробовал использовать то, что сейчас на википедии.
Код:
Монодевелоп в обоих вариантах говорит:
Код:
Singleton.cs(38,38): Error CS0305: Using the generic type `Singleton<T>.SingletonCreator<S>' requires `2' type argument(s) (CS0305)
Эта строчка:
Код:
get { return SingletonCreator<T>.CreatorInstance; }
Я что-то не понял, в чем дело... :confused:
Всем заранее спасибо...