2023-01-01から1年間の記事一覧

Programming w/ C# ~ ちょっとおもしろいパターンマッチ記法の発見

発見 ちょっとおもしろいパターンマッチ記法を発見をした。 ネスト構造の任意データ型の文字列化 ネスト構造の任意データ型の要素1つ1つに再帰である処理を掛けてして文字列化したく、こんな処理を書いてみた。 public static IEnumerable<string> ToStringRecursi</string>…

Programming w/ C# ~ 抽象 record データコンテナ・テンプレートから派生クラスを Reflection.Emit で動的生成

抽象 record データコンテナ・テンプレートから派生クラスを Reflection.Emit で動的生成 やりたいこと 下記のようなコードがある。 public abstract record Format { // EntityFrameworkCore で利用する共通機能を書く // プロパティは書かない } // データ…

Programming w/ PostgreSQL ~ テーブル・レコード更新日時の記録

PostgreSQL のテーブルにレコード更新された日時を記録する実験 仕掛けづくりは下記の通り。 -- [初期設定] スキーマ作成 CREATE SCHEMA sandbox; -- [初期設定] 観測対象テーブルのレコード最終更新日時を記録するテーブルの定義 CREATE TABLE IF NOT EXIST…

Programming w/ PHP ~ PostgreSQL への接続

メモ

Programming w/ C# ~ プロパティの型 "定義" の抽出方法 (再訂正・改良版)

プロパティの型 "定義" の抽出方法 (訂正・改良版) やりたいこと データを record class 等のコンテナクラスで扱う際、特にそれをデータベースにマップする際に、カラムに対応する各プロパティの正確なデータ型 "定義" をプログラム上で知りたいことがある。…

Programming w/ C# ~ 鬼滅の刃コラボ 無限列車編

鬼滅の刃 無限列車編 C#er は、鬼滅の刃 無限列車編 をこう見る。(下記コード部分にはネタバレを含みます。) NotImplemented はきちんと実装しないと使えませんよ。 using System; using System.Collections.Generic; using System.Linq; using ヒノカミ神楽…

Programming w/ C# ~ DocFx の利用方法

はじめに Java の javadoc のように C# においても /// がドキュメントコメントになることは知っており VS Code にもそれ用の拡張機能を加えていた。しかし、これまできちんと運用したことがなかったため、ここらで導入してみることにした。(DoxFx は 2.61.0…

Programming w/ C# ~ Null 安全なジェネリクスのコード記述方法

null 安全なジェネリクス記法 C# 9.0 からようやく null 安全なジェネリクスがまともに記述できるようになったため nullability について試行錯誤してみた。 C# 9.0 以降の nullable コンテクストはそれなりによくできているが、nullablity 解釈の柔軟さ・厳…

Programming w/ C# ~ ステップカウンタ

C# ソースの (フォルダ再帰的な) ステップカウンタ ソースコードのファイル数・行数を簡便に知りたい。 dir /b /s から find /v /c へ繋いでワンライナー的にやれば ... といつも思って検索をかけるものの、なかなかズバリの解が出てこないため、バッチファ…

Programming w/ C# ~ record に対する override method

備忘録 原因不明の不具合に悩まされ、調べたら C# 言語仕様だったということがあったためメモ。record の override method は class のそれと違う動作をする。 using System; public class Class1 { public string PropC1 = "PropC1"; public override strin…

Programming w/ C# ~ TypeForwarding

備忘録 あるアセンブリに定義されているクラスを参照させつつ、その実体を別のアセンブリに転送したいと思い、TypeForwarding を調べてみた。ufcpp.net learn.microsoft.comが、なかなかうまくいかない。情報が少なすぎてよくわからなかったが、中国語で書か…