私はそれを与えるモデルに基づいて私のためのフォームを作成する関数を構築しました。クラスの型を取得して汎用関数で使用する方法は?
using MyProject.Models;
...
public partial class CRUDPage : ContentPage
{
public CRUDPage()
{
InitializeComponent();
Teacher teacher = new Teacher
{
id = 1,
name = "John Smith",
DOB = new DateTime(1995, 9, 12),
place = "Hebron",
salary = 20.5
};
//set the content of the page >>> PCL, Xamarin.forms
Content = new FormGenerator<Teacher>().GenerateForm(teacher);
}
}
私は、あらゆる種類のモデルを使用してフォームを作成できるようにして、コードを動的にしようとしていますが、運がありません。コードはこのようなものでなければなりません。
public partial class CRUDPage : ContentPage
{
public CRUDPage(object entity)
{
InitializeComponent();
Content = new FormGenerator<typeof(entity) >().GenerateForm(entity);
}
}
しかし、上記のコードは機能しません。 Type
のように見えるのはClass
と同じではありません。
オブジェクトの「クラスタイプ」を関数のジェネリック型として使用するにはどうすればよいですか?
[Reflectionを使用して汎用メソッドを呼び出すにはどうすればいいですか?](0120-32535/2803565) –
GenerateFormメソッドのロジックは何ですか?このメソッドでは、渡されるオブジェクトの型がわかり、フォームを作成するために使用できるリフレクションを使用して、すべてのプロパティにアクセスできます。 –
FormGeneratorのコンストラクタとGenerateFormのコードを表示できますか? –