[解決済み] リフレクションで私有財産を設定することは可能ですか?
2022-06-22 15:16:32
質問
リフレクションで私有財産を設定できますか?
public abstract class Entity
{
private int _id;
private DateTime? _createdOn;
public virtual T Id
{
get { return _id; }
private set { ChangePropertyAndNotify(ref _id, value, x => Id); }
}
public virtual DateTime? CreatedOn
{
get { return _createdOn; }
private set { ChangePropertyAndNotify(ref _createdOn, value, x => CreatedOn); }
}
}
を試してみましたが、うまくいきません、どこで
t
は
Entity
:
var t = typeof(Entity);
var mi = t.GetMethod("set_CreatedOn", BindingFlags.Instance | BindingFlags.NonPublic);
できるんだろうけど、うまくいかない。
どのように解決するのですか?
t.GetProperty("CreatedOn")
.SetValue(obj, new DateTime(2009, 10, 14), null);
EDIT: プロパティ自体がパブリックであるため、どうやら
BindingFlags.NonPublic
を探す。
SetValue
セッターのアクセシビリティが低いにもかかわらず、期待通りの動作をします。
関連
-
[解決済み] リフレクションを使用して文字列からプロパティ値を取得する
-
[解決済み] DockPanelを空きスペースいっぱいに表示させる方法
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] リフレクションとは何か、なぜ有用なのか?
-
[解決済み] フィールドとプロパティの違いは何ですか?
-
[解決済み] リフレクションを使ってジェネリックメソッドを呼び出すにはどうしたらいいですか?
-
[解決済み] Pythonの@propertyデコレーターはどのように機能するのでしょうか?
-
[解決済み] パブリック、プライベート、プロテクトの違いは何ですか?
-
[解決済み] Javaリフレクションを用いた静的なプライベートfinalフィールドの変更
-
[解決済み] リフレクションを用いたオブジェクトのプロパティ設定
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ポストバックまたはコールバックの引数が無効です。 イベント検証は '<pages enableEventValidation="true"/>' を使用して有効になっています。
-
[解決済み] VB.NETでプログラムパスを取得する?
-
[解決済み] VS2017/2015 で .xproj ファイルを開く方法
-
[解決済み] ファイルまたはアセンブリ 'System.Data.SQLite' をロードできませんでした。
-
[解決済み] DockPanelを空きスペースいっぱいに表示させる方法
-
[解決済み] .NET Framework 4 マルチターゲティングパックがアンインストールできない
-
[解決済み] 権限 '*' を持つ SSL/TLS の安全なチャネルを確立できませんでした。
-
[解決済み] このコンピュータには、.NET Framework 4.6またはそれ以降の更新プログラムがすでにインストールされています。
-
[解決済み] AssemblyVersion、AssemblyFileVersion、AssemblyInformationalVersionの違いは何ですか?
-
[解決済み] MemoryStreamから文字列を取得する方法は?