お米 is ライス

C#やらUnityやらを勉強していて、これはメモっといたほうがええやろ、ということを書くつもりです

C#

【C#】SpracheでJsonのパーサを実装する方法を1行ずつ解説

下記のサンプルをパースすることを目的とする サンプルはJSON入門 - とほほのWWW入門様から引用させていただいた(いい感じにいろいろなパターンが詰め込まれているので非常に便利でした) { "color_list": [ "red", "green", "blue" ], "num_list": [ 123, …

Expressionで辞書に登録されていればそれを返すし、登録されていなければデフォルト値を登録したうえでそれを返すコード

Expression完全に理解した private static readonly ParameterExpression dicParameterExpression = Expression.Parameter(typeof(Dictionary<string, object>), "dic"); private static readonly MethodInfo containsKeyMethod = typeof(Dictionary<string, object>).GetMethod("ContainsKey</string,></string,>…

C#のExpression(式木)を使って文字列で与えられた条件文をラムダ式に変換する

やること 本体の関数はCreateExpressionで、下記のようなことを行っている 一番外側のWhitespaceは除外 式全体が括弧で囲まれている場合、不要な括弧なので除外 一番優先度の低い演算子を探して、本体の演算子とする 括弧で囲まれた位置にある演算子は無視(…

Blazorでコンポーネントの継承をする

ロジックの継承 ロジックの継承は@inheritsディレクティブで行う メンバ変数やら関数やらが継承される //MyBaseComponent.razor @code { //継承元 public string MyValue; } //MyInheritsComponent.razor @inherits MyBaseComponent @code { public string T…

【Blazor】WebAssembly版のWEBページを公開する

Blazorちゃん、ようやくWeb Assembly版が正式リリースされましたね!!(遅い) というわけで、ASP.NET CoreでホストしないBlazorちゃんを公開する方法をメモ プロジェクト作成 適当に作ってくれ。 「ASP.NET Coreでホストしない」を想定してるので「ASP.NET…

Unityで自動実装プロパティにSerializeFieldをつけるだけでインスペクタにまともな名前を表示させる

追記 ??? Unity 2019にしたら動かなくなったのでUnity 2020でしか動かないっぽい 出典元 この記事では9割9分9厘下記サイトに書いてある通りのことをやっています。 baba-s.hatenablog.com [field: SerializeField]をつけただけで名前をまともに表示してほ…

「ASP.NET Core Blazor」入門ハンドブック(を目指す)その2(Razor構文編)

前回の記事 spi8823.hatenablog.comさて、前回はBlazor用のテンプレートプロジェクトを作成してデバッグ実行してみるというところまでやりました。 しかしこれだけでは何のありがたみも面白味もありません。 この記事では「BlazorによってどのようにHTML内に…

「ASP.NET Core Blazor」入門ハンドブック(を目指す)(インストール編)

Blazorとは JavaScriptで書いていたブラウザ側のスクリプトをC#で書けるようにするフレームワークのこと 「ASP.NET Core」というWebアプリケーションフレームワークの一部 「Razor構文」と呼ばれる記法によってHTML内にC#コードを埋め込む とにかくBlazorで…

EntityFrameworkCoreで整数とか日付とか以外のオブジェクトをフィールドに持つクラスをデータベースで管理したいときにやること

やりたいこと 例えば商品(Product)をデータベースで管理したくてかつ商品が会社(Company)の情報を持っていて欲しいとき。 つまりはクラスの入れ子になっているクラスをデータベース管理したいとき。 具体的に書くとこんなの //商品クラス public class Produ…

ASP.NET Core 3.0でRazorコンポーネントを使う方法

Razorコンポーネントとは Windows Formsでいうコントロールみたいなものだと思う。 詳しくはこのページに書いてある。 docs.microsoft.com Razorコンポーネントの作成 例えばHoge.razorというファイルを作成して次のように書く @code { [Parameter] public s…

UnityのCoroutine的なものを自前で実装する

Coroutine コルーチンはこんな感じで使えるやつだ void Awake() { StartCoroutine(Test()); } IEnumerator Test1() { DoSomething(); yield return null; Hoge(); yield break; } コルーチンのネストもできて void Awake() { StartCoroutine(Test2()) } IEnu…

MoonSharpの紹介 ~ UnityでLuaを使ったイベントスクリプトを書きたい

初めに(飛ばして) Unityの開発では主にC#が使われている。 C#とはコンパイル言語であり、Rubyなどといったスクリプト言語のようにテキストファイルに直書きしたソースコードを順繰りに実行するということはできず、いったんソースコードをコンパイルしてか…