小编tra*_*mpi的帖子

获取抽象类的所有继承类

我有一个抽象类:

abstract class AbstractDataExport
{
        public string name;
        public abstract bool ExportData();
}
Run Code Online (Sandbox Code Playgroud)

我有从AbstractDataExport派生的类:

class XmlExport : AbstractDataExport
{
    new public string name = "XmlExporter";
    public override bool ExportData()
    {
        ...
    }
}
class CsvExport : AbstractDataExport
{
    new public string name = "CsvExporter";
    public override bool ExportData()
    {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

可以这样做吗?(伪代码:)

foreach (Implementation imp in Reflection.GetInheritedClasses(AbstractDataExport)
{
    AbstractDataExport derivedClass = Implementation.CallConstructor();
    Console.WriteLine(derivedClass.name)
}
Run Code Online (Sandbox Code Playgroud)

输出像

CsvExporter
XmlExporter
Run Code Online (Sandbox Code Playgroud)

这背后的想法是创建一个派生自AbstractDataExport的新类,这样我就可以自动遍历所有实现并将名称添加到Dropdown-List.我只是想编译派生类而不改变项目中的任何其他内容,重新编译,宾果游戏!

如果您有其他解决方案:告诉他们.

谢谢

c# reflection inheritance

112
推荐指数
4
解决办法
9万
查看次数

导航,突出显示当前页面

我有一个父布局,并从该子站点派生.

父布局有一个导航,每个导航点代表一个子站点.

如何在父布局中突出显示当前查看的子站点?if怎么样?

symfony twig

11
推荐指数
3
解决办法
1万
查看次数

无法创建存储函数 - 语法错误?

我有以下问题.

我想创建一个存储函数,将entity_id转换为相应的sku

这是代码:

CREATE FUNCTION `id2sku`(`entity_id_in` INT)
    RETURNS VARCHAR
    LANGUAGE SQL
    NOT DETERMINISTIC
    CONTAINS SQL
    SQL SECURITY DEFINER
    COMMENT ''
BEGIN
    DECLARE returnvalue varchar(50);

    SELECT `sku` INTO returnvalue FROM catalog_product_entity WHERE entity_id = entity_id_in LIMIT 1;

    return returnvalue;
END
Run Code Online (Sandbox Code Playgroud)

现在我的问题是,如果我触发查询,我收到以下消息:[窗口标题]错误

SQL Error (1064): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LANGUAGE SQL
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT' at line …
Run Code Online (Sandbox Code Playgroud)

mysql sql database stored-procedures stored-functions

1
推荐指数
1
解决办法
9907
查看次数