🧑‍💻

Unityのインターセプターを使ったAOP (Attribute編)

2022/06/02に公開

概要

DIコンテナの機能で、横断的にロギングを実現したい。

結論

  • いろいろ試したが、どうやら.NET6だと動かないらしい。(原因不明)
    • PlatformNotSupportedException: Strong-name signing is not supported on this platform.とでるから、サポート外って事らしい。
  • .NET5以下なら動く。
  • prismを併用する場合、ViewModelの様に自動でDIされるモジュールは別のアプローチが必要。

やったこと

  • パッケージのインストール
    • Unity.Interception

https://github.com/kondara-mach/UnityAOPSample/blob/main/UnityAOPSample/Program.cs

https://github.com/kondara-mach/UnityAOPSample/blob/main/ClassLibrary1/Class1.cs

実行結果

Before Add
Add メソッド
After Add

Discussion