Абсолютно - Вы должны были бы написать умеренное количество кода для его реализации, но вы, конечно, можете сделать это вручную, если необходимо:
public class MyClass {
public string First {get; private set;}
public string Last {get; private set;}
public MyClass(string first, string last) {
First = first;
Last = last;
}
public static bool Parse(string s, out MyClass res) {
res = null;
if (s == null) return false;
var tokens = s.Split(new[] {';'});
if (tokens.Length != 2) return false;
res = new MyClass(tokens[0], tokens[1]);
return true;
}
}
Эта версия принимает выходной аргумент и возвращает bool
; вы можете легко изменить его, чтобы выбросить исключение и вернуть MyClass
«стиль метода фабрики».
Какая проблема именно вы сталкиваетесь? Что мешает вам просто написать метод 'Parse()'? – svick
ну, мне нужен синтаксис вроде MyClass.Parse (Session ["foo"]), а не как MyClass newclass = new MyClass(); newclass.Parse (Session ["foo"]) –
И почему бы вам не прямо хранить 'MyClass' в' Session'? – svick