LINQ . factory . , (, , ). LINQ (, , ) .
:
try {
IWorkspaceFactory factories[] = {
new SdeFactory(), new FGDBFactory(), new AccessFactory() };
IWorkspace workspace = factories
.Single(wf=>wf.IsWorkspace(input)).Open(input);
workspace.DoSoething();
} catch(OperationException) {
}