我想将属性类引用传递给方法。 例如:
Class SQLiteTables
{
public class tblPersonnel
{
public int PsnID { get; set; }
public string PsnFirstName { get; set; }
public string PsnMiddleName { get; set; }
public string PsnLastName { get; set; }
}
public class tblSchedules
{
public int SchID { get; set; }
public string SchDescription { get; set; }
public DateTime SchStartDtm { get; set; }
public DateTime SchEndDtm { get; set; }
...
public class TableName
{
public int Field1 { get; set; }
public string Field2 { get; set; }
public string Field3 { get; set; }
...
public string FieldN { get; set; }
}
}
我想创建一个像这样的方法:
public void ThisMethod(PropertyClass propertyclassname)
{
List<propertyclassname> TempList = dbConn.Table<propertyclassname>().ToList<propertyclassname>();
}
并像这样使用它:
ThisMethod(tblPersonnel);
ThisMethod(tblSchedules);
我正在努力避免为每个属性制作多个方法。我希望它是一种可重用的方法,但我似乎无法弄清楚如何。非常感谢提前!
答案 0 :(得分:1)
你应该使用泛型:
public void ThisMethod<T>(T mySet) where T : MySetBaseClass
{
...
}
你想在方法中做什么以及谁在调用它?
答案 1 :(得分:0)
你想要实现的目标与你的实际逻辑不是那么容易,但如果你把它改成以下可能是你解决它
public abstract class PropertySetBase
{
public abstract int Property_int1 { get; set; }
public abstract string Property1 { get; set; }
public abstract string Property2 { get; set; }
public abstract string Property3 { get; set; }
}
头等舱
public class PropertySet1:PropertySetBase
{
public override int Property_int1
{
get
{
}
set
{
}
}
public override string Property1
{
get
{
}
set
{
}
}
public override string Property2
{
get
{
}
set
{
}
}
public override string Property3
{
get
{
}
set
{
}
}
}
第二课
public class PropertySet2:PropertySetBase
{
public override int Property_int1
{
get
{
}
set
{
}
}
public override string Property1
{
get
{
}
set
{
}
}
public override string Property2
{
get
{
}
set
{
}
}
public override string Property3
{
get
{
}
set
{
}
}
}
以及如何编写您的方法以接受任何属性类
public void ThisMethod( PropertySetBase propertyclassname)
{
}
答案 2 :(得分:0)
我认为您想要重复使用属性集类型,并且可以使用IEnumerable
public class PropertySet
{
public int Property0 { get; set; }
public string Property1 { get; set; }
public string Property2 { get; set; }
public string Property3 { get; set; }
}
在方法中使用此类型的列表,以便在方法
中使用多个项目public void ThisMethod(List<PropertySet> propertyclass)
{
}