namespace ConsoleApp;
public delegate int Factory();
// Type: ConsoleApp.Factory
// Assembly: ConsoleApp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 158825C2-2E1C-449E-A72A-66768D48C2ED
// Location: /home/user/RiderProjects/ConsoleApp/ConsoleApp/bin/Debug/net6.0/ConsoleApp.dll
// Sequence point data and variable names from /home/user/RiderProjects/ConsoleApp/ConsoleApp/bin/Debug/net6.0/ConsoleApp.pdb
.class public sealed auto ansi
ConsoleApp.Factory
extends [System.Runtime]System.MulticastDelegate
{
.method public hidebysig specialname rtspecialname instance void
.ctor(
object 'object',
native int 'method'
) runtime managed
{
// Can't find a body
} // end of method Factory::.ctor
.method public hidebysig virtual newslot instance int32
Invoke() runtime managed
{
// Can't find a body
} // end of method Factory::Invoke
.method public hidebysig virtual newslot instance class [System.Runtime]System.IAsyncResult
BeginInvoke(
class [System.Runtime]System.AsyncCallback callback,
object 'object'
) runtime managed
{
// Can't find a body
} // end of method Factory::BeginInvoke
.method public hidebysig virtual newslot instance int32
EndInvoke(
class [System.Runtime]System.IAsyncResult result
) runtime managed
{
// Can't find a body
} // end of method Factory::EndInvoke
} // end of class ConsoleApp.Factory
Можно ли увидеть аналог пример кода на c# java с этим типом? Как-то наглядно продемонстрировать отличие от void. Иначе никак не пойму?
А почему нету Типа, который ни чего не упаковывает, а просто передает двойное машинной слово?
long
. Передавай везде его, а внутри делай каст/приведение. А вообще, зачем делать стек еще больше? Если надо передать только байт, ты предлагаешь передавать сразу 8?кортежи в 8 байт.
// почему такого нету, вроде же легко можно добавить, я куча раз сталкивался,
// когда дженерик писать прям в лом, или большие изменения внесет, или еще что,
// а передать надо byte int double
where
тебе в помощь GetFromJsonAsync<T>(url)
метод у HttpClient
.T
указываешь объект, который нужно десериализовать, а в url
- адрес, по которому нужно послать запрос. Для httpbin, например client.GetFromJsonAsync<SomeObject>("httpbin.org/get");
class MyItemConverter : JsonConverter
{
public override bool CanConvert(Type objectType)
{
return typeof(ItemToSell).IsAssignableFrom(objectType);
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
JObject obj = JObject.Load(reader);
string discriminator = (string)obj["ObjectType"];
ItemToSell item;
switch (discriminator)
{
case "apple":
item = new Apple();
break;
case "books":
item = new Books();
break;
case "melon":
item = new Melon();
break;
default:
throw new NotImplementedException();
}
serializer.Populate(obj.CreateReader(), item);
return item;
}
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
}
}
Сначала создает структуру на стеке, потом копирует ее в массив.
new User(1, 2)
, а потом она записывается в массив.Можно ли так сделать?
users.Initialize()
. Он вызовет стандартный конструктор (без параметров) для всех элементов, а потом вручную выставить значения в цикле NumberStyles
, которые null должны обрабатывать иначе, либо какую-нибудь комбинацию, которая при null возвращает int.MinValue (например), то при проверке на null код сработает неправильно. Зачем нужен Mutex? Есть ведь Monitor.
Mutex
- примитив синхронизации уровня ОС.Monitor
- инструмент синхронизации уровня среды выполнения.Mutex это разве не тот же семафор, только который может брать один поток?
Try*
методы. Они возвращают bool
- была ли операция успешна, а реальное возвращаемое значение передается через out
параметр*Safe
постфикс. Но использую я их только внутри класса и только для того, чтобы не писать TryGet*(out ...)
конструкциюremarks
секции указать, что метод не выкидывает исключение resultString.AppendLine($"<button role=\"button\" class=\"sendBtn\"><a href=\"www.siteadress/api/reports/{serializedIngedientsList}\" style=\"text-decoration: none; color: #000000\"> Отчёт </a></button>");