我有几个课可以说,
public class A
{
public string Date { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string Link { get; set; }
public string Document { get; set; }
}
public class B
{
public string Fixes { get; set; }
public string Date { get; set; }
public string Link { get; set; }
public string Document { get; set; }
}
我在两个文件(Webforms)中使用这两个类,如下所示。
var allVars= (from p in doc.Elements("Patches").Elements("Patch").Elements("Fix")
select new B
{
Fixes = p.Value,
Date = (p.Parent.Attribute("date") == null) ? "NA" : p.Parent.Attribute("date").Value,
Link = (p.Attribute("Ticket") == null) ? "" : p.Attribute("Ticket").Value,
Document = (p.Attribute("Document") != null) ? p.Attribute("Document").Value : ""
}
);
var allVariables= (from f in doc.Elements("Features").Elements("Feature")
select new A
{
Date=(f.Parent.Attribute("date") == null) ? "NA" : f.Parent.Attribute("date").Value,
Name = f.Attribute("name").Value,
Description = f.Value,
Link = f.Attribute("Ticket").Value,
Document = (f.Attribute("Document") != null) ? f.Attribute("Document").Value : null
});
因此,在我的应用程序中,在多个webforms(Partial classes)中使用了这样的clases。而不是在每个类中单独定义它们。我希望他们定义一次并在任何文件中使用它们就像那样。我确信C#会有这样的机制,但我无法回忆起功能名称以及如何重用它。
有人能告诉我这是怎么回事。
答案 0 :(得分:0)
将它定义为这两个类中的静态函数:
public class A
{
public string Date { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string Link { get; set; }
public string Document { get; set; }
public static dynamic Get A()
{
var allVariables= (from f in doc.Elements("Features").Elements("Feature")
select new A
{
Date=(f.Parent.Attribute("date") == null) ? "NA" : f.Parent.Attribute("date").Value,
Name = f.Attribute("name").Value,
Description = f.Value,
Link = f.Attribute("Ticket").Value,
Document = (f.Attribute("Document") != null) ? f.Attribute("Document").Value : null
});
return allVariables;
}
}
public class B
{
public string Fixes { get; set; }
public string Date { get; set; }
public string Link { get; set; }ynamig
public string Document { get; set; }
public static dynamic getB()
{
var allVars= (from p in doc.Elements("Patches").Elements("Patch").Elements("Fix")
select new B
{
Fixes = p.Value,
Date = (p.Parent.Attribute("date") == null) ? "NA" : p.Parent.Attribute("date").Value,
Link = (p.Attribute("Ticket") == null) ? "" : p.Attribute("Ticket").Value,
Document = (p.Attribute("Document") != null) ? p.Attribute("Document").Value : ""
}
);
return allVars;
}
}

然后你可以从你的页面调用这些函数:
A.getA()
B.getB()