yılında Page Hazırlanışı:ben bu tür Page, jenerik türlerini kullanamazsınız öğrendim sonra biraz araştırma UWP jenerik
public class MyPage<T> : Page where T : class
Bunun sebebi söylememiş olmasıdır
sayfanın xaml dosyası bu T nedir (yanlışsam beni düzelt). Bu kod görünüyor garip değişir ve gerçekten bu çözüm sevmiyorum Görüldüğü üzere
//this page has only cs file
public class MyPage<T> : Page where T : class
{
}
//this page again is constructed only from cs file
public class BasePage : MyPage<ViewModel>
{
}
//at last we have a page with xaml file that can be shown
public class MainPage : BasePage
{
}
: Ben böyle bir şey oluyordu internette bir olası çözüm gördük.
Bu nedenle, birisi bu sorun için iyi bir çözüm sağlayabilir mi? Belki bir örnekle.
Bununla ne yapmak istersiniz? Bir örneğiniz var mı? – Domysee
En azından WinRT'nin açık genetiği desteklemediği için 'internal' sınıfını yapmanız gerekir. 'Typeof (Sayfa) 'çalışmıyor mu? –
Amaç, yeni bir Sayfa oluşturulduğunda, Sayfa'nın BasePage'den kullanılabilecek bazı temel uygulamalara sahip olması ve genel bir tür olarak geçirilecek olan ViewModel ile bağlanması, örn. Ben BasePage 'kamu soyut geçersiz DoSomething (T ViewModel) yöntemi varsa, ben Page bu yöntemi kullandığınızda' , ben bu 'public void DoSomething (MyViewModel ViewModel) { // bazı güzel şeyler yapacağız } 've ben bir döküm ihtiyacı olmadan beklediğim nesne türünü alacağım. – Stoian