| 12345678910111213141516171819202122232425262728293031323334353637383940414243 | using System;using System.Threading.Tasks;using Avalonia.Controls; namespace InABox.Avalonia{    public class MobileDocument    {        public string FileName { get; set; }        public byte[] Data { get; set; }        public MobileDocument()        {            FileName = "";            Data = new byte[] { };        }                public MobileDocument(string filename, byte[] data)        {            FileName = filename;            Data = data;        }                        public static async Task<MobileDocument> From<TSource, TOptions>(TopLevel window, TSource source)             where TSource : MobileDocumentSource            where TOptions : MobileDocumentOptions<TSource>        {            var result = await source.From(window);            return result;        }                public static async Task<MobileDocument> From<T>(TopLevel? window, MobileDocumentOptions<T> options) where T : MobileDocumentSource        {            if (window == null)                throw new Exception("Window is null");            var source = (T)Activator.CreateInstance(typeof(T), new object[] { options });            var result = await source.From(window);            return result;        }            }}
 |