如何在C#类中设置嵌套/链接函数
这是我试图设置的 我的班级叫Inventory 我有一个名为List_Departments()的静态函数 我想能够添加一个额外的功能来修改以前的 例如:Inventory.List_Departments().ToHTML()将返回一个HTML格式的字符串,其中包含来自List_Departments()的数据 如果可能的话,我想为另一个函数重用相同的代码,比如List_Categories()如何在C#类中设置嵌套/链接函数,c#,C#,这是我试图设置的 我的班级叫Inventory 我有一个名为List_Departments()的静态函数 我想能够添加一个额外的功能来修改以前的 例如:Inventory.List_Departments().ToHTML()将返回一个HTML格式的字符串,其中包含来自List_Departments()的数据 如果可能的话,我想为另一个函数重用相同的代码,比如List_Categories() 我真的很想在这件事上朝着正确的方向推动一下。我似乎找不到正确的术语/搜索词来获取我需要的信息。非常
我真的很想在这件事上朝着正确的方向推动一下。我似乎找不到正确的术语/搜索词来获取我需要的信息。非常感谢你的帮助,对于这个有点愚蠢的问题我很抱歉 基本上,您的函数List_Departments()和List_Categories正在返回一些类型化对象,对吗?也就是说,返回的对象必须在其类定义中创建一个名为ToHTML()的方法。如果这两个函数返回相同类型的对象,则只需定义一次。如果它们返回两个不同的类型,则必须在两个返回类型类定义上定义ToHTML()方法 除非我在这里遗漏了什么,否则这两个函数不需要静态修饰符
如果返回的类型是您没有源代码访问权限的类型,那么您可以为每个类型定义一个扩展方法,该方法将处理要返回的对象类型,并可以为其显示ToHTML() 基本上,您的函数List_Departments()和List_Categories正在返回一些类型化对象,对吗?也就是说,返回的对象必须在其类定义中创建一个名为ToHTML()的方法。如果这两个函数返回相同类型的对象,则只需定义一次。如果它们返回两个不同的类型,则必须在两个返回类型类定义上定义ToHTML()方法 除非我在这里遗漏了什么,否则这两个函数不需要静态修饰符 如果返回的类型是您没有源代码访问权限的类型,那么您可以为每个类型定义一个扩展方法,该方法将处理要返回的对象类型,并可以为其显示ToHTML() 函数是一个作用于从
List\u Departments()返回的类型的函数。
例如:
如果Inventory.GetProduct(0)
返回一个int。您可以使用Inventory.GetProduct(0).ToString()
,因为ToString()是一个整数类型的方法
为此,List\u Departments()
必须返回一个自定义对象,该对象具有一个名为ToHTML()的方法
ToHTML()
函数是一个作用于从List\u Departments()
例如:
如果Inventory.GetProduct(0)
返回一个int。您可以使用Inventory.GetProduct(0).ToString()
,因为ToString()是一个整数类型的方法
为此,List\u Departments()
必须返回一个自定义对象,该对象具有一个名为ToHTML()的方法
听起来你指的是听起来你指的是你需要让
列表\u Departments
方法返回一个具有到html
方法的对象
根据具体方法返回的内容,您可以创建一个名为ObjectList的类,该类将有一个ToHtml
方法,并有ListDepartments
和ListCategories
返回它的实例
或者,特别是如果您的方法返回现有类,如
数据表
,您可以为该类创建一个名为ToHtml
的类。您需要使List\u Departments
方法返回一个具有ToHtml
方法的对象
根据具体方法返回的内容,您可以创建一个名为ObjectList的类,该类将有一个ToHtml
方法,并有ListDepartments
和ListCategories
返回它的实例
或者,特别是如果您的方法返回现有的类,例如
数据表
,您可以为该类创建一个名为ToHtml
的类。您没有提供太多信息,但对我来说,使用似乎是一个好方法。
将字符串转换为int的示例:
public static class StringMethods {
public static int ToInt(this String subject) {
int result;
int.TryParse(subject, result);
return result;
}
}
假设列出部门
返回部门
:
public static class DepartmentMethods {
public static string ToHtml(this Department subject) {
// Whatever you want to do.
}
}
如果您确实可以访问由
列表\u Departments
返回的类型的内部,您也可以在那里添加到HTML。您没有提供太多信息,但使用似乎是一种很好的方法。
将字符串转换为int的示例:
public static class StringMethods {
public static int ToInt(this String subject) {
int result;
int.TryParse(subject, result);
return result;
}
}
假设列出部门
返回部门
:
public static class DepartmentMethods {
public static string ToHtml(this Department subject) {
// Whatever you want to do.
}
}
如果您确实有权访问由
列表\u部门返回的类型的内部结构,您也可以将其添加到HTML中。您要查找的搜索词是方法链接:-)
这与jQuery的功能类似。基本上,您可以创建一个对象,该对象包含您希望能够链接的所有方法。然后,使用构建器模式,您可以将所有调用链接在一起,直到调用某个最终的“result”方法(在您的例子中是ToHtml)
您要查找的搜索词是方法链接:-)
这与jQuery的功能类似。基本上,您可以创建一个对象,该对象包含您希望能够链接的所有方法。然后,使用构建器模式,您可以将所有调用链接在一起,直到调用某个最终的“result”方法(在您的例子中是ToHtml)
应用程序中的某些设置功能需要所有部门/类别的列表。稍后将有库存对象,但为了方便起见,我希望能够使用
inventory.ListDepartments().ToHtml();