はなちるのマイノート

Unityをメインとした技術ブログ。自分らしくまったりやっていきたいと思いますー!

2024-06-01から1ヶ月間の記事一覧

【C#】SourceGeneratorで実際にファイルを吐かせるようにする方法

C#

はじめに 今回はSourceGeneratorで実際にファイル出力させる方法について紹介したいと思います。 はじめに やり方 参考 やり方 SourceGeneratorで生成したコードが含まれる側の.csprojに対して(SourceGeneratorのコードが含まれる.csprojでないので注意)、Em…

【C#】MSBuildでdotnet buildが終了したあとにdllを特定の場所にコピーする方法

C#

はじめに 今回はMSBuildでdotnet buildが終了した後にdllを特定の場所にコピーする方法を紹介したいと思います。特にUnityの場合では、Roslyn AnalyzerやSourceGeneratorを利用する場合は手作業でdllをコピーするのはとても面倒です。そんなときはMS Buildで…

【Rider】変数名やクラス名、構造体の名前などはGitHub Copilot Chatに考えてもらおう

はじめに 今回は小ネタですが、GitHub Copilot Chatに変数名を考えてもらうとめっちゃ良かったという話をしたいと思います。 C#13の情報がぼちぼち出てるのにC#10のまとめ記事執筆を勧めてくるCopilot君 はじめに 前提 使い方 さいごに 前提 GitHub Copilot…

【C#】privateコンストラクタしかないclassを無理やりリフレクションで生成する

C#

はじめに 今回はPrivateコンストラクタしかないclassを無理やりリフレクションで作成する方法を紹介したいと思います。 public class Hoge { // privateコンストラクタしかないと正攻法だと外から生成できない private Hoge() { } } はじめに やり方 引数が…

【C#】protobufのカスタムオプションを取得する方法

C#

はじめに 今回はprotobufのカスタムオプションをC#で取り出す方法を紹介したいと思います。 protobuf.dev // カスタムオプションを定義 extend google.protobuf.MessageOptions { string my_option = 50000; } message MyMessage { // "Hello, world!"をC#上…

【C#】Coconaを利用してSystem.CommandLineなどを利用せずに簡単にConsoleアプリケーションを作成する

C#

はじめに 今回はCoconaというOSSを紹介したいと思います。github.com はじめに 概要 インストール 使い方 基本 Optionsについて Argumentsについて Sub-commands パラメーターの共通化 Validation Microsoft.Extensions.*の利用 Logging DI さいごに 概要 よ…

【Unity】EditorWindowでEditorGUILayout.PropertyField&SerializedObject.FindPropertyをしてもデフォルト値にクリアされてしまう問題の対処法

はじめに 以下のコードを書いていたところ、Unity2022.3.10f1では正しく動作しないことに気がつきました。(Unity6では正しく動作していました) using UnityEditor; using UnityEngine; public class SampleWindow : EditorWindow { [SerializeField] private…

【Unity】Player SettingsのScriptingDefineSymbolsをスクリプトから取得・設定する方法

はじめに 今回はPlayerSettingsのScriptingDefineSymbolsをスクリプトから取得・設定する方法について紹介をしたいと思います。 ProjectSettings/Player/OtherSettings/Script Compilationより設定可一応補足ではありますが、スクリプトからでなければProjec…

  翻译: