public static T CastDataAndDispose <T>(MessageElement m) { object dat = null; try { dat = m.Data; return((T)dat); } catch { IDisposable dat2 = dat as IDisposable; if (dat2 != null) { dat2.Dispose(); } throw; } finally { if (m != null) { m.Dispose(); } } }
public static MessageElement NewMessageElementDispose(int i, object data) { MessageElement m = null; try { m = new MessageElement(); m.ElementNumber = i; m.ElementFlags &= ((byte)~RobotRaconteurNET.MessageElementFlags_ELEMENT_NAME_STR); m.ElementFlags |= ((byte)RobotRaconteurNET.MessageElementFlags_ELEMENT_NUMBER); m.Data = data; return(m); } catch { if (m != null) { m.Dispose(); } throw; } finally { IDisposable d = data as IDisposable; if (d != null) { d.Dispose(); } } }
public static MessageElement NewMessageElementDispose(string name, object data) { MessageElement m = null; try { m = new MessageElement(); m.ElementName = name; m.Data = data; return(m); } catch { if (m != null) { m.Dispose(); } throw; } finally { IDisposable d = data as IDisposable; if (d != null) { d.Dispose(); } } }
public static void AddMessageElementDispose(vectorptr_messageelement vct, MessageElement m) { try { vct.Add(m); } finally { if (m != null) { m.Dispose(); } } }