Ваш синтаксис для именованных кортежей в качестве типа возврата метода неверен:
public interface IFoo {
(T1 result1, T2 result2) Bar();
}
Примечание. Это связано с тем, что тип возвращаемого значения определяет тип и имя, а присвоение имен литералу кортежа определяет значение и имя.
// Method return syntax. Type & Name
public (bool success, T payload) TryGetPayload<T>() { }
// Literal assignment syntax. Name & Value
var result = (success: true, payload: t);
Похоже, что OP запрашивает, как сделать острова данных в JavaScript, особенно для изображений. Ни один из ответов, приведенных ранее, не предоставляет такой метод, так что вот, пожалуйста.
По сути, вы кодируете изображение как строку base64, а затем устанавливаете его как источник элемента DOM. Установка URL-адреса источника объекта Image
не эквивалентна, так как требует дополнительного HTTP-соединения.
var data = 'data:image/gif;base64,'+
'R0lGODlhAAEwAMQAAJ2M5Me98GRK1DoYyYBr3PHv++Pe99XO81Y50auc6PBkZEgpzbmt7HJa2I57'+
// snip //
'fS3CqU7XGYgE+GqHvrLJ8Tr6qXmqiwAF9CffgnMNqmWHAWNBwwGsKpKsrmJqltOOV69nuYxSkqpo'+
'Tata18rWtrr1rTIIAQA7';
var icon_elem = document.getElementById("icon_here");
icon_elem.src = data;
Приведенный выше код и полный пример можно найти здесь: http://www.kawa.net/works/js/data-scheme/base64-e.html
Вы можете просто использовать
var img = new Image();
img.src = "http://yourimage.jpg";
для создания изображения DOM.
DOM-изображение - это объект в памяти, содержащий двоичную форму изображения, поэтому нет необходимости преобразовывать его обратно в изображение, поскольку оно уже одно.
Видите, это простой вопрос. Но подход к этой проблеме не тот, который вы сейчас пытаетесь использовать.
Что, по вашему мнению, будет работать:
Мы сохраним изображение (его двоичные данные) в переменной js, а затем в любой момент разместим его на странице.
Как это будет работать намного проще:
вам просто нужно создать изображение DOM на странице и указать его источник. Браузер автоматически загрузит изображение с сервера.
Примеры:
ex-1:
var img_src = "http://someserver/yourimage.png";
var node = document.getElementById('the-node-in-which-i-want-my-image');
node.innerHTML = "<img src='"+img_src+"' alt='my image'>";
ex-2: (с использованием jquery) - это по сути то же самое, что и выше, только намного проще написать:
var img_src = "http://someserver/yourimage.png";
$('#the-node-in-which-i-want-my-image')
.html("<img src='"+img_src+"' alt='my image'>");
Теперь есть еще одна вещь: браузер начинает выборку изображения после выполнения этого кода, поэтому изображение на самом деле появляется немного после того, как вы вставили его в DOM.
Чтобы предотвратить это, вы можете предварительно загрузить изображения, используя:
var prefetch = new Image();
prefetch.src = "http://someserver/yourimage.png";
Ура!