public abstract object Get();
public override object Get() { if (!initialized) { lock (this) { instance = binding.Get(); initialized = true; } } return(instance); }