Мне нужно определить класс частично в отдельных сборках. на самом деле мне нужно частично переопределить класс, который уже определен в сборке, написанной на C ++ Cli, но, возможно, это другой вопрос.
для случая, все коды, написанные на C #, у меня есть определение базового класса в сборке пространства базовых имен
using System;
namespace BaseNameSpace
{
public class BaseClass
{
public int Num;
public double dNum;
public BaseClass(int s, double d)
{
Num = s;
dNum = d;
}
public virtual void Wrt()
{
Console.WriteLine("{0},{1}", Num, dNum);
}
}
}
Я добавляю другой сборочный проект, названный производным классом пространства, и объявляю производный класс, производный от базового класса. я также добавлю частичное определение класса в этот проект.
using System;
using BaseNameSpace;
namespace BaseNameSpace
{
public partial class BaseClass
{
public void Mult()
{
Num *= 2;
}
}
}
namespace DerivedNameSpace
{
public class DerivedClass : BaseClass
{
public DerivedClass(int s)
: base(s, 0)
{
}
public override void Wrt()
{
Mult(); // mult line
base.Wrt();
}
}
}
когда я строю решение, я получаю
DerivedNameSpace.DerivedClass.Wrt () ':
не найдено подходящего метода для переопределения
если я удаляю частичные строки класса и строку мульти, все нормально.
я использую понятие частичного ключевого слова? как я могу избавиться от ошибки?