using Debug.LightweightIocContainer.FactoryGenerator.Samples.Interfaces; namespace Debug.LightweightIocContainer.FactoryGenerator.Samples.Factories; public interface ISampleClassFactory { ISampleClass Create(); T Create() where T : ISampleClass; Task CreateAsync(); ISampleClass Create(string name); T Create(U param1, V param2) where T : ISampleClass where U : class, new() where V : struct; Task CreateAsync(U parameter) where T : ISampleClass where U : class; void ClearMultitonInstance() where T : ISampleClass; }