App.xaml в библиотеке классов - PullRequest
3 голосов
/ 18 мая 2011

Я создал пользовательскую библиотеку классов Windows Phone 7, в которой я также создал файлы App.xaml и App.xaml.cs (я переименовал их в MiEngineApp.xaml, MiEngineApp.xaml.cs и имя моей библиотеки классовэто MiEngine).Я ссылался на библиотеку классов в своем приложении.

Теперь в моем приложении я хочу написать класс App.xaml.cs, полученный из класса App.xaml.cs библиотеки моего класса (то есть MiEngineApp.xaml.cs.).Когда я создавал проект, App.xaml.cs был создан по умолчанию.Он по умолчанию расширяет класс Application, я просто изменил это на MiEngineApp (Application -> MiEngineApp).После этого я скомпилировал свое приложение, оно выдает ошибку в файле App.gics.Сообщение об ошибке: «Частичные объявления MiApp.App не должны указывать разные базовые классы».Как решить эту ошибку!

1 Ответ

6 голосов
/ 18 мая 2011

Вы также должны изменить файл App.xaml. Так что это будет ваш MiEngine.xaml

<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
             x:Class="MiEngine.MiEngineApp"
             >
    <Application.Resources>

    </Application.Resources>
</Application>

и MiEngine.xaml.cs:

namespace MiEngine
{
    public partial class MiEngineApp : Application
    {

        public MiEngineApp()
        {

Это будет App.xaml, который наследует (расширяет) MiEngine.xaml:

<z:MiEngineApp xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
             x:Class="SilverlightApplication6.App"

             xmlns:z="clr-namespace:MiEngine;assembly=MiEngine"
             >
    <z:MiEngineApp.Resources>

    </z:MiEngineApp.Resources>
</z:MiEngineApp>

Обратите внимание на использование пространства имен z, чтобы я мог ссылаться на базовый класс.
И код для этого:

namespace SilverlightApplication6
{
    public partial class App : MiEngineApp
    {

        public App()
        {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...