chevron_left

メインカテゴリーを選択しなおす

cancel
はなちる
フォロー
住所
未設定
出身
未設定
ブログ村参加

2020/03/05

arrow_drop_down
  • 【C#】C#12から登場したInterceptorsを利用してコンパイル時に実行するメソッドを置き換える(主にSourceGeneratorと組み合わせる)

    はじめに C#12から登場したInterceptorsというコンパイル時に実行するメソッドを置き換えられる機能について紹介したいと思います。github.comただしまだ実験的な機能なので、変更される可能性もありますし情報もまだそこまで出てきていません。注意してください。 はじめに 確認環境 概要 Interceptorsを有効にする 使い方 InterceptsLocationAttributeを定義する メソッドを置き換える 参考 確認環境 Rider2023.3 EAP8 .Net8.0 C#12 概要 Interceptorsを利用することでコンパイル時に特定のメソッドの呼び出しを別の…

  • 【C#】System.Text.Jsonの「JsonDocumentとJsonElement」を利用して固定したSchemaがないJsonに対してデシリアライズを行う方法

    はじめに 今回はSystem.Text.Jsonを用いてSchemaが変わる可能性があるようなJsonをデシリアライズする方法について紹介したいと思います。www.nuget.org↓利用される場面 逆シリアル化する型がない 受信した JSON に固定スキーマがなく、含まれている内容を確認するために検査する必要がある。 System.Text.Json で JSON DOM を使用する方法 - .NET Microsoft Learn はじめに 概要 やり方 JsonDocumentの利用 JsonElementの利用 見つからない時はエラーになる 配列が列挙する プロパティを列挙する 概…

  • 【C#】System.Text.Jsonで直接UTF-8バイト配列にシリアライズ & UTF-8バイト配列からデシリアライズする方法

    はじめに 今回はSystem.Text.Jsonを利用して直接UTF-8バイト配列にシリアライズ & UTF-8バイト配列からデシリアライズする方法を紹介したいと思います。また公式ドキュメントには文字列ベースのメソッド(UTF-16)を使用するよりもUTF-8バイト配列のシリアル化は約5から10%高速だと表記されています。 UTF-8 バイト配列へのシリアル化は、文字列ベースのメソッドを使用するより約 5 から 10% 高速です。 違いは、バイト (UTF-8) を文字列 (UTF-16) に変換する必要がないことから生じます。 C# で JSON のシリアル化と逆シリアル化を行う方法 - .…

  • 【C#】GenericのFullNameを実際のコードに埋め込みできるよう変換する方法(T4の実行時テンプレート, Raw String Literal)

    はじめに 例えばRaw String Literal(もしくはT4の実行時テンプレート)を利用して、.csの生成をしようとします。 using System.Text; namespace SampleConsole { internal class Program { public static void Main() { // C#11より登場した生文字列リテラル (T4の実行時テンプレートの移行先としてしばしば利用される) // 開始の「""" (3個以上の ")」の後ろには改行必須, 1行目のインデントを基準にしてそれよりも前の空白文字は無視 // 先頭の「$」の数によって補完する際「…

  • 【C#】dotnet-t4を用いてT4テンプレートをコマンドラインから処理する

    はじめに 今回はdotnet-t4について取り上げたいと思います。www.nuget.org はじめに 概要 インストール手順 .NET Core3.1のインストール dotnet-t4のインストール パスを通す 使い方 参考 概要 dotnet-t4はT4テンプレートをコマンドラインからファイル指定して処理するツールです。 dotnet-t4 is a command-line tool for processing T4 templates, a general-purpose way to generate text or code files using C#. It's part o…

  • 【PowerShell, C#】MacにPowerShellをインストール, .NETの利用, VSCodeの拡張機能インストールをする方法

    はじめに 最近教えていただいたのですが、どうやらPowerShellは.NETの知識がそのまま使えるとの噂を聞きました。 PowerShell(パワーシェル)は、マイクロソフトが開発した拡張可能なコマンドラインインターフェイス (CLI) シェルおよびスクリプト言語である。オブジェクト指向に基づいて設計されており、.NET Framework (Windows PowerShell 5系以前) あるいは.NET Core (PowerShell Core 6系以降) を基盤としている。 PowerShell - WikipediaC#erとしては気になるということで、Macでのインストール方法…

  • 【Unity】UI Toolkitにて入れ子構造となっているデータをTreeViewで表現する方法(ファイルとディレクトリのような入れ子構造)

    はじめに 今回はUI Toolkitにて以下の画像のような要素が入れ子になっているようなTreeViewを作成してみる記事になります。 動作させている様子↓TreeViewの公式ドキュメントの説明 docs.unity3d.comdocs.unity3d.com はじめに 概要 やり方 UXMLを記述する(UI Builder利用) C#スクリプトでの記述 動作確認する 参考 概要 TreeViewは木構造なデータを表示することができるVisualElementです。 A TreeView is a vertically scrollable area that links to, and d…

  • 【Rider】Riderで改行コード(CRLFとLFとCR)の設定方法(新規ファイル, 開いているファイル, 指定したファイル・ディレクトリ)

    はじめに 今回はCRLF・LF・CRの違いとRiderでの設定方法について取り上げたいと思います。 はじめに 改行コード Riderでの設定方法 新規ファイルに対しての適応方法 現在開いているファイルに対して改行コードを変更する 指定したファイルやディレクトリ内のファイルに対して改行コードを変更する 参考 改行コード 改行コード とは、ワードプロセッサ(ワープロ専用機)やコンピュータなどで、改行を表す制御文字である。 改行コード - Wikipediaしかし歴史的な経緯から複数のコードが混在していて、システム(ソフトウェア)によって以下の3種類のどれかを利用しています。 CR : Carria…

  • 【Unity】PackageManager.Clientを利用してC#スクリプトを通してPackageManagerを操作する

    はじめに 今回はPackageManagerのスクリプティングAPIについて取り上げたいと思います。docs.unity3d.com はじめに 概要 使い方 LogLevel Add AddAndRemove List Embed Remove Resolve 参考 概要 PackageManagerを操作するためにはPackageManager.Clientクラスを利用します。 LogLevel : 使用するログレベル Add : パッケージ追加 AddAndRemove : 一括でパッケージ追加・削除 Embed : プロジェクトにパッケージを埋め込む List : パッケージの一覧取得 …

  • 【C#】浮動小数点をToString()するとCultureInfoによって出力が異なってしまう件

    はじめに 1.23f.ToString()のような浮動小数点のToStringを実行するとカルチャ(国/地域)によって表示が異なることに最近気がつきました。 // ja-JP Console.WriteLine(CultureInfo.CurrentCulture); // 1.23 Console.WriteLine(1.23f.ToString(CultureInfo.CurrentCulture)); // 1.23 Console.WriteLine(1.23f.ToString(new CultureInfo("en-US"))); // 1,23 // 「.」ではなく「,」が利用さ…

  • 【Unity, C#】System.Environment.GetCommandLineArgsとSystem.CommandLineを用いてコマンドライン引数にて配列を受け取る方法

    はじめに 今回はUnityのコマンドライン引数にて配列を受け取る方法を紹介したいと思います。 // 「-- hoge aaa --hoge bbb --hoge ccc」もしくは「--hoge aaa bbb ccc」のようにコマンドライン引数を受け取れる $ /Applications/Unity/Hub/Editor/2022.3.8f1/Unity.app/Contents/MacOS/Unity -quit -batchmode -nographics -projectPath "/Users/user/Sample2022_3_8f1" -executeMethod SampleNa…

  • 【Unity】公式パッケージ「Android Logcat」を利用してAndroidデバイスからのスタックトレースやログなどのメッセージをUnity Editorに表示する

    はじめに 今回はAndroid端末からスタックトレースやログなどのメッセージをUnity Editorに表示することができる公式パッケージ「Android Logcat」を紹介したいと思います。 Android Logcatが動作している様子docs.unity3d.com はじめに 概要 環境 インストール方法 Android端末と接続する方法 USB接続 ADB(Android Debug Bridge) Android Logcatを開く ワイヤレスでAndroidデバイスに接続する Androidデバイス上のアプリケーションを指定する フィルタ 参考 概要 Android Logcat…

  • 【Unity】UnityアプリをAndroid実機で動作させ、Android Studioのlogcatを利用してログを確認する方法

    はじめに UnityアプリをビルドしてAndroidでデバッグする際に、ログを調べたい場合もあるでしょう。そんなときにAndroid StudioのLogcatを利用することでログを確認することができます。 Logcatが動作している様子UnityEngineのDebug.Log等を確認している様子developer.android.com実際にLogcatでログを確認するまでの手法を紹介したいと思います。 はじめに Android Studioのインストール Android Studioを立ち上げLogcatを開く Android端末と接続する Logcatのフィルタ ツールバー Unity…

arrow_drop_down

ブログリーダー」を活用して、はなちるさんをフォローしませんか?

ハンドル名
はなちるさん
ブログタイトル
はなちるのマイノート
フォロー
はなちるのマイノート

にほんブログ村 カテゴリー一覧

商用