Как повторно использовать файл .cs из других проектов

Я работал над разработкой приложений для Android и теперь перешел на Windows.

1) У меня есть сценарий, в котором мне нужно создать дочерний проект и проект библиотеки, мы сделали этот Android, как указано в ссылке - http://developer.android.com/tools/projects/projects-eclipse.html#SettingUpLibraryProject

Как добиться того же в Visual Studio? для разработки приложений для Windows Phone.

2) мне нужно создать класс, в котором будут определены некоторые методы с некоторыми значениями, например:

В моем базовом проекте

Class{

public void string appName(){
 return "XYZ"
}

public void int appVersion(){
 return 1;
}

}

Теперь в моем дочернем проекте я должен иметь возможность переопределить вышеуказанные методы и изменить реализацию, а также, если я не дал реализацию, она должна принимать значение по умолчанию.

Как добиться этого на С#?


person Goofy    schedule 22.01.2014    source источник
comment
Вы должны использовать абстрактный класс. msdn.microsoft.com/en-us/library/sf985hc5.aspx Для использования набора объектов/классов в разных проектах вы можете создать библиотеку классов, на которую затем будете ссылаться во всех своих проектах.   -  person Cornea Ali    schedule 22.01.2014
comment
классы не должны быть абстрактными для переопределения   -  person Chiel ten Brinke    schedule 22.01.2014


Ответы (2)


Обычно вы не используете повторно файлы в C#, но повторно используете классы,

Создайте свой проект библиотеки и поместите туда свой базовый класс:

namespace YourLibraryNameSpace
{
    public class BaseClass
    {
        public virtual void string AppName()
        {
            return "XYZ";
        }

        public virtual void int AppVersion()
        {
             return 1;
        }
    }
}

затем в вашем основном проекте добавьте ссылку на проект библиотеки и добавьте свой дочерний класс следующим образом:

namespace MainProjectNameSpace
{
    using YourLibraryNameSpace;

    public class ChildClass : BaseClass
    {
        public override void string AppName()
        {
            return "ABC";
        }

        public override void int AppVersion()
        {
            return 2;
        }
    }
 }

И я предлагаю следовать соглашениям об именах С#, таким как имена методов в регистре паскаля.

person VahidNaderi    schedule 22.01.2014
comment
Строго говоря, вы можете добавлять файлы в несколько проектов в виде ссылок, но ваше решение гораздо лучше! - person Liath; 22.01.2014
comment
Пожалуйста, подождите, я проверю ваш подход и дам вам знать - person Goofy; 22.01.2014
comment
а этот BaseClass - это какой проект? Например, у них есть телефонное приложение Winodws, проект библиотеки классов winodws и т. д. - person Goofy; 22.01.2014
comment
Вы можете создать только проект библиотеки классов. - person VahidNaderi; 22.01.2014
comment
@VahidND, не могли бы вы помочь мне с изображениями таким же образом? - person Goofy; 22.01.2014

В C# это работает примерно так же. Проект библиотеки — это dll, поэтому вы можете сначала создать его. Затем создайте свой основной проект. В дереве обозревателя решений вы можете щелкнуть правой кнопкой мыши основной проект и добавить ссылку на проект библиотеки.

Что касается переопределения реализации, в С# вам нужно явно пометить свои методы как виртуальные, если вы хотите такого поведения:

Class{

public virtual void string appName(){
 return "XYZ"
}

public virtual void int appVersion(){
 return 1;
}

}

а затем, когда вы переопределяете их в своем дочернем классе, измените virtual на override (необходимо явно указать, что вы переопределяете, в отличие от java).

person Grzenio    schedule 22.01.2014
comment
при создании проекта какой из них мне нужно выбрать из списка для создания проекта библиотеки? - person Goofy; 22.01.2014
comment
если возможно, не могли бы вы показать мне пример, я полностью запутался, и с помощью вашего примера я могу продолжить - person Goofy; 22.01.2014
comment
@ Гуфи, так что твой вопрос в том, как разработать приложение для Windows Phone? В Интернете есть различные руководства, которые помогут вам начать работу, например. msdn.microsoft.com/en -us/library/windowsphone/develop/. Если вы застряли, задайте конкретный вопрос. Удачи! - person Grzenio; 22.01.2014