$ErrorActionPreference = 'Stop'
$fieldName = 'file'
$filePath = 'C:\Temp\test.pdf'
$url = 'http://posttestserver.com/post.php'
Try {
Add-Type -AssemblyName 'System.Net.Http'
$client = New-Object System.Net.Http.HttpClient
$content = New-Object System.Net.Http.MultipartFormDataContent
$fileStream = [System.IO.File]::OpenRead($filePath)
$fileName = [System.IO.Path]::GetFileName($filePath)
$fileContent = New-Object System.Net.Http.StreamContent($fileStream)
$content.Add($fileContent, $fieldName, $fileName)
$result = $client.PostAsync($url, $content).Result
$result.EnsureSuccessStatusCode()
}
Catch {
Write-Error $_
exit 1
}
Finally {
if ($client -ne $null) { $client.Dispose() }
if ($content -ne $null) { $content.Dispose() }
if ($fileStream -ne $null) { $fileStream.Dispose() }
if ($fileContent -ne $null) { $fileContent.Dispose() }
}
За каждую выложенную игру нужно заплатить 100$, а не за регистрацию, как я раньше думал.
Выкладывая игру нужно её еще и защитить авторскими правами, иначе её скопируют а вас вообще пошлют из стима, и на этом моменте часто где реклама, типа в этом мы вам поможем...
то есть еще с кем-то договора заключать, опять же там реклама услуг, типа мы с этим вам поможем...
нужно ли действительно в налоговой регаться
P.s. - Где еще можно выложить кроме стима....
using System.Threading;
var data = new int[1]; // Какие-то данные
var thread = new Thread(() => {
var result = data.Length; // Какие-то ужасно сложные вычисления
HandleResult(result); // Это можно передать как параметр-делегат, но тут мы будем конкретный метод использовать
});
thread.Start(); // Стартуем
// Какие-то дела
thread.Join(); // Всё равно надо по-хорошему дождаться окончания работы потока
void HandleResult(int value) {
Console.WriteLine(value);
}
using System.Threading;
var data = new int[1]; // Какие-то данные
var result = 0; // Какой-то результат (инициализируем значением по-умолчанию)
var thread = new Thread(() => {
result = data.Length; // Какие-то ужасно сложные вычисления
});
thread.Start(); // Стартуем
// Какая-то работа
thread.Join(); // Дожидаемся окончания работы потока
Console.WriteLine(result); // Используем результат работы
без кастов
private IEvent<Handler, Argument> thisEvent => this;
// ...
thisEvent.Create(argument);
public class Player {
public Coins coins; // Как-то нужно присвоить ему значение, иначе будет NRE
public void SomeMethod() {
var total = coins.coinsAmount; // Вот мы и обратились
}
}
Как решить такой трабл явно не приводя массив к нужному типу ?
var classes = objects.Select(ConvertObjectToClass).ToArray();
var classes = objects.Cast<Class>().ToArray();
var classes = System.Runtime.CompilerServices.Unsafe.As<Class[]>(objects);
using System.Runtime.CompilerServices;
var objects = new object[] { new A { x = 1 }, new B { y = 2, z = 3 } };
var something = Unsafe.As<A[]>(objects);
Console.WriteLine(something[0].x); // 1
Console.WriteLine(something[1].x); // 2
var something2 = Unsafe.As<B[]>(objects);
Console.WriteLine($"{something2[0].y} {something2[0].z}"); // 1 0
Console.WriteLine($"{something2[1].y} {something2[1].z}"); // 2 3
class A
{
public int x;
}
class B
{
public int y;
public int z;
}
ПРАВИЛЬНО
Если попробовать конвертировать 0.00015 btc в сатоши - получаем 14999, хотя должны получить 15000