- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
private static Regex _OMatcher = new Regex("O=([^,]+)", RegexOptions.Compiled);
private static Regex _CNMatcher = new Regex("CN=([^,]+)", RegexOptions.Compiled);
private void InitView(IView view)
{
var cachedList = _UserCertStorage.FindAll();
List<Cons<string, object>> list = new List<Cons<string,object>>();
list.AddRange(cachedList.Select(x =>
{
return Cons.Make<String, Object>(_CNMatcher.Match(x.SubjectName.Name).Groups[1].Value + " (" + _OMatcher.Match(x.SubjectName.Name).Groups[1].Value + ")", x);
}));
view.InitComboBox(UserNameID, list);
int index = 1;
foreach (var cert in cachedList)
{
if (cert!=null)
{
Logger.Instance.Log(Logger.MessageType.Info, string.Format("{0} users certificate: {1}", index++, cert));
}
}
view.SetRadioButton(ConnectToServer, true);
}
public static class Cons
{
public static Cons<T1, T2> Make<T1, T2>(T1 first, T2 second)
{
return new Cons<T1, T2>(first, second);
}
}
public class Cons<T1,T2>
{
private T1 _First;
private T2 _Second;
public T1 First { get { return _First; } set { _First = value; } }
public T2 Second { get { return _Second; } set { _Second = value; } }
public T1 Key { get { return First; } set { First = value; } }
public T2 Value { get { return Second; } set { Second = value; } }
public Cons()
{
_First = default(T1);
_Second = default(T2);
}
public Cons(T1 first, T2 second)
{
_First = first;
_Second = second;
}
}
Реализация присвоения значений выпадающему списку для контрола ComboBox в функции InitView. Как вам?
Комментарии (16) RSS
Добавить комментарий