我有一个名为FieldDesc
的课程。
public class FieldDesc {
public FieldDesc() {
}
}
我还有另一个继承自FieldDesc
的{{1}}。
StandardHoursByCommunitySvcType
在我的掌控中,我有 -
public class StandardHoursByCommunitySvcType: FieldDesc {
public StandardHoursByCommunitySvcType() {
}
}
我需要做些什么才能让FieldDesc aTable;
aTable = new FieldDesc();
String TableName = "StandardHoursByCommunitySvcType";
知道它是aTable
类型的对象?
答案 0 :(得分:2)
你的问题不清楚。您是否尝试将aTable声明为StandardHoursByCommunitySvcType或尝试确定它是否已声明为一个?
如果你想宣布:
FieldDesc aTable;
aTable = new StandardHoursByCommunitySvcType();
只要StandardHoursByCommunitySvcType继承自FieldDesc
,它就会起作用如果您要确定类型:
if(aTable is StandardHoursByCommunitySvcType)
{
//Do something
}
答案 1 :(得分:0)
您可以使用is运算符来查找
if(someObject is StandardHoursByCommunitySvcType )
{
//it means is is object of StandardHoursByCommunitySvcType type
}
答案 2 :(得分:0)
如果你有两个班级
public class FieldDesc
{
public FieldDesc()
{
}
public void A()
{
}
public virtual void V()
{
Console.WriteLine("V from FieldDesc");
}
}
public class StandardHoursByCommunitySvcType : FieldDesc
{
public StandardHoursByCommunitySvcType()
{
}
public void B()
{
}
public overrides void V()
{
Console.WriteLine("V from StandardHoursByCommunitySvcType");
}
}
你可以这样做
FieldDesc fd = new StandardHoursByCommunitySvcType();
StandardHoursByCommunitySvcType svc = new StandardHoursByCommunitySvcType();
fd.A(); // OK
fd.B(); // Fails (does not compile)
((StandardHoursByCommunitySvcType)fd).B(); // OK
fd.V(); // OK, prints "V from StandardHoursByCommunitySvcType"
svc.A(); // OK
svc.B(); // OK
svc.V(); // OK, prints "V from StandardHoursByCommunitySvcType"
派生类与基类兼容;但是,通过键入作为基类的变量访问,您只能看到基类的成员。