くうと徒然なるままに

モバイルアプリを作りながらバックエンドも作っています。

C#

ASP.NET Core 2.1 => 2.2 へマイグレーションした。

C#

ASP.NET Core で作ってるAPIサーバーがあります。 昔に作成したため .NET Core 2.1 の上で動いてます。 今回は、そのAPIサーバーを .NET Core 2.2, ASP.NET Core 2.2 な環境で載せ替えてみます。 ENtity Framework Core 2.2 で追加された Location のサポー…

Entity Framework Core で Unit Test しやすくするヘルパークラスを書いた@InMemory-SqLite

こんにちは〜!最近C# でサーバーサイドを雑に書いてます〜(Android アプリを作ってたはずが、気づいたらサーバーサイドを書いていた... TDD を試しているのですが、 Entity Framework Core という 主にASP.NET Core 向けなORM を利用しているところでもTDD…

WPFで起動時の引数によりGUI or Console を切り替える。

いろいろほげると根本的なところから切り替えれるようですが、ここでは簡単にやっていきたいと思います。 やりかた デフォルトで作成されている Main.xaml.cs の コンストラクタに以下のような記述をします。 var IsGUIMode = Environment.GetCommandLineArg…

ASP.NET Core Razor の TagHelper Intellisense が効かなかった。

環境 Visual Studio 2017 With Resharper Windows 10 修復方法 _Viewimports.cshtml に以下の記述を追加する。 @addTagHelper "*,Microsoft.AspNetCore.Mvc.TagHelpers" 情報元 stackoverflow.com

現在の AppDomain とは別の AppDomain を立ち上げる (勉強中です...

C#

何するの? AppDomain について勉強中です。 今回は、現在のアプリケーションが動いている AppDomain とは別の AppDomain を立ち上げて情報を見てみます。 ソースコード static void Main(string[] args) { var currentDomain = AppDomain.CurrentDomain; //…

C# で Json にプロパティを追加する

C#

コード class MainClass { public static void Main(string[] args) { var beforeJsonData = new BeforemetaData(); beforeJsonData.Greeting = "おっはー"; var beforeJson = JsonConvert.SerializeObject(beforeJsonData); Console.WriteLine(beforeJson);…

Amazon Music が Windows 10 にやってきた。

Amazon Prime Music がついにMicrosoft Store からダウンロードできるようになりましたね、 公開元 既存の Amazon アプリとは公開元が違い、 AMZN Mobile から公開されています。 ファイヤーウォールの警告 警告されますね。 一応許可します。 Amazon Music …

ASP.NET Core の単体テストで IActionResult からステータスコードを判定する

ASP.NET Core の Controller で IActionResult な戻り値になっている関数はよくあります。 そんな Controller の戻り値を単体テストで呼び出すときに ステータスコードを判定したい というのはよくあると思います。 解決方法 Controller のメソッドの戻り値…

XUnit で テストエクスプローラーに文字列を出力する

ITestOutputHelper を使うことでテストエクスプローラーの出力の部分に文字列を出力することができる コード private readonly ITestOutputHelper _output; public Program(ITestOutputHelper output) { _output = output; } [Fact] public void 出力テスト(…

Moq で Null を返り値 に設定する方法

モックを簡単に作成できるライブラリの Moq 使ってますか? モックを利用していて、返り値に Null を設定したいことはよくあるかと思います。 解決策 returns() の引数に渡すときに null を関数本来の戻り値の型にキャストしてやる。 コンパイラ的に考えると…

C# で クラス名を String で取得する方法

C#

やること Class の名前を動的に文字列で取得する やること 環境 やり方 方法1. nameof を利用してクラス名を取得 nameof を利用してクラス名を取得するコード 問題点 問題点を再現したコード Program.cs 出力 方法2. 動的にクラス名を取得する 要点解説 補足…

C#, HttpClient で Json を POST するときの Media-Type の設定方法

C#

[Fact] public async void TestMethod1() { var dummmyURL = ""; var dummyJson = ""; using (var client = new HttpClient()) { var response = await client.PostAsync(dummmyURL, new StringContent(dummyJson, Encoding.UTF8, "application/json-patch+j…

Stream から byte[] に変換する

C#

static void Main(string[] args) { using (var client = new HttpClient()) { var requestUri = "https://www.google.co.jp/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png"; // reponse is stream // .Result は本当はよくない var respons…

C# で Ping を送信する

C#

System.Net.NetworkInformation.Ping クラスを利用します。 IDisposable を実装しているクラスなので一応 using の中で実行します。 Reference: https://developer.xamarin.com/api/type/System.Net.NetworkInformation.Ping/ コード static void Main(strin…

C# で ホスト名からIPアドレスを名前解決してもらう

C#

System.Net.Dns クラスを使います。 コード static void Main(string[] args) { var ipadress = System.Net.Dns.GetHostEntry("www.google.co.jp"); Console.WriteLine($"DNS: {ipadress.HostName}"); ipadress.AddressList.ToList().ForEach(address => Con…

Connect(); 2017 Visual Studio とモバイル関係まとめ とかとか

今北産業って人向けまとめ Visual Studio App Center (旧 Visual Studio Mobile Center) GA Cognitive Services + ML Kit ( iOS11 ) Xamarin Work Books がオープンソース化 & 3Dオブジェクトの表示に対応 Connect(); 2017 で公開されたモバイル関係の情報…

指定したURLの画像をBase64 してコピーするサンプル

C#

Mainに [STAThread] をつけてください (Main で async できる世界が早く来てほしい...) namespace ConsoleApp1 { class Program { [STAThread] static void Main(string[] args) { var ImageByte = new byte[65536]; using (var client = new HttpClient()) …

NUnit でリストの要素数がゼロ個かどうかをテストする

C#

NUnit を使いリストの要素数をテストするときに、 ``` [Test] public void リストの要素数を数えるテスト() { var list = new List<string>() { "Hello", "World" }; // 愚直な実装方法 Assert.AreNotEqual(0,list.Count); // リストの要素がゼロ個じゃないのを確認</string>…

moq で 非同期メソッドの返り値を設定する

やりかた メソッドの返り値を設定するときに Returns の代わりに ReturnsAsync を使う。 コード [TestFixture] public class TestClass { [Test] public async Task TestMethod() { var hogeMoq = new Mock<Ihoge>(); hogeMoq.Setup(obj => obj.getHtml()).ReturnsA</ihoge>…

Nuget で .NET Standard 1.0 に対応した ツイキャス用のライブラリの V0.2.0 を公開しました。

タイトルの通り。 以前作ってた ツイキャス用のライブラリをとりあえず、 Nuget.org で公開してみました。 www.nuget.org ツイキャスのAPIV2を利用するときに必要になる認証を手助けする機能ぐらいしかまだ実装されていません。 (まだプレビューらしいのて…

C#で{}で囲まれた文字列を 正規表現で取得する

C#

C# 固有の何かがあるわけではないですが、タイトルに C# とつけてみました。 最近作ってウェブサイトで {} に囲まれた文字列を抜き出す処理が必要だったのでコードを書きました。しかし、 ググっても、あまり似た情報がないのでブログに書いてみました。 …

ツイキャス の OAuth 認証をヘルプするライブラリの V0.1 を Github に公開しました

TwitCasting の API を使うために必要な OAuth 認証を手助けするライブラリを作成しました。 Xamarin, NETFX, ASP.net などから 利用できるように作りました。 動作環境 .Net Standard 1.0 機能 現在は、以下の機能が実装されています。個人的に必要最小限が…

Private Method を Unit Test する

なにするの? やりかた ソースコード まとめ Twitter でこのようなツイートを見つけたので、少し書いてみた あれ?単体テストでプライベートなメンバにアクセスするのってどうやるんだっけ?— aridai (@aridai_net) 2017年4月27日 なにするの? ChainingAssert…

OZCode の Meetup が名古屋で開催されます。ぜひ、参加してください!

C#

なんか、共同オーガナイザーになってたので宣伝します。 OzCode とは Visual Studio のすごい拡張機能です。 OzCodeはVisual Studioのデバッガ機能を強化する拡張機能です。特徴的でわかりやすく機能を絞っているので、R#とはまた違う位置づけで良い製品だと…

Xamarin.iOS の UITextField の入力カーソルが表示されないようにする

自己紹介 やっていくこと やったこと ソースコード 実行結果 感想 参考サイト おすすめ書籍 自己紹介 初めまして、大学一年生のくぅと言います。 C# と Xamarin が好きです。 まだまだ未熟ですが、色々吸収していきます。 やっていくこと Xamarin.iOS の UIT…

DateTime を NSDate に変換する関数を 拡張メソッドで作ってみる

自己紹介 やっていくこと コード まとめ おすすめ書籍 自己紹介 初めまして、大学一年生のくぅと言います。 C# と Xamarin が好きです。 まだまだ未熟ですが、色々吸収していきます。 やっていくこと 前回作った DateTime を NSDate に変換する関数を 拡張メ…

Xamarin.iOS で iOS の設定が12時間表記でも アプリ内では24時間表記にする

自己紹介 やっていくこと やったこと サンプルコード 実行結果 参考サイト おすすめ書籍 自己紹介 初めまして、大学一年生のくぅと言います。 C# と Xamarin が好きです。 まだまだ未熟ですが、色々吸収していきます。 やっていくこと iOS の時計が12時間表…

Xamarin.iOS で DateTime を NSDate に変換する

自己紹介 やっていくこと やったこと ポイント サンプルコード まとめ 参考サイト おすすめ書籍 自己紹介 初めまして、大学一年生のくぅと言います。 C# と Xamarin が好きです。 まだまだ未熟ですが、色々吸収していきます。 やっていくこと NSDate は Coco…

Xamarin.Android で Toast を表示する

自己紹介 やっていくこと ソースコード 実行例 自己紹介 初めまして、大学一年生のくぅと言います。 C# と Xamarin が好きです。 まだまだ未熟ですが、色々吸収していきます。 やっていくこと Xamarin.Android で Toast を表示する ソースコード MakeText の…

Xamarin.Android で Intent を使い画面遷移する

自己紹介 やっていくこと 方法 サンプルコード 画面を遷移するボタンを設置 Main.axml MainACtivity.cs 遷移先の画面の作成 layout1.axml Activity1.cs ソースコードのポイント解説 まとめ 自己紹介 初めまして、大学一年生のくぅと言います。 C# と Xamarin…