Я сказал коллеге, что следующий - плохой дизайн, но в конце концов я не мог по-настоящему объяснить причину (кроме того, в этом случае уже был один сингл-класс, который использовался как «коллекция» для всех эти). Но в общем случае есть что-то не так со следующим (только «статический метод, возвращающий экземпляр класса», - а не каким способом обрабатывается interop.) Это просто пример статического метода, а не реального кода.имеет статический метод, возвращающий экземпляр класса (например, id) плохой конструкции неэлементного класса?
public class MyClass
{
public int Id { get; private set; }
/... other properties, constructors & methods
// this is only static method
public static GetMyClass(int id)
{
// get it in this case from unmanaged code
return new MyClass(InteropThing.GetMyClassStruct(id));
}
}
Что такое 'InteropThing' в этом случае? – RagtimeWilly
Я не вижу в этом ничего плохого. Что вы предложите в качестве альтернативы? – JLRishe
в этом случае был лучший способ сделать это (MyThingsStore, что я использовал индексы и счетчики). но в общем случае я не могу предложить ничего лучше этого. –