我能StudentRegistered
类的属性StudentId
是同一类型为Student.Id
(即byte
),而不在StudentRegistered
声明提byte
?有属性是同一类型的另一个类的属性
我想在我的应用程序中为每个派生类Person
定义Id
类型。我错过了什么?
public class Person<T>
{
public T Id { get; set; }
public string Name { get; set; }
}
public class Student : Person<byte> { }
public class Adult : Person<short> { }
public class StudentRegistered
{
public /* type */ StudentId { get; set; }
public int EventId { get; set; }
}
编辑,澄清:
- 我希望避免具有提
Student.Id
的类型(即,byte
)外Student
声明的任何地方。 - 我不需要
string Name
作为StudentRegistered
的财产。 StudentRegistered
将不会有Adult
s。 Abyte
类型为StudentRegistered.StudentId
就足够了。
在你的例子中'StudentRegistered'不是从'Person'派生的。 – BatteryBackupUnit
这是一个坏主意。你想用“ID”的不同类型来达到什么目的? – ja72