如何在MVC 4中从控制器访问私有构造函数到模型类

索兰格瓦拉·阿巴萨利(Sorangwala Abbasali)

有什么方法可以从控制器访问模型的私有构造函数?
包含调用模型的方法的控制器如下:

public ActionResult ReadXML()
{
    XmlSerializer reader = new XmlSerializer(typeof(List<Asseted>));
    TextReader textReader = new StreamReader(@"D:\Tial2.xml");
    List<Asseted> asseted;
    List<Asseted> list = new List<Asseted>();
    asseted = (List<Asseted>)reader.Deserialize(textReader);
    textReader.Close();
    for (int i = 0; i < asseted.Count; i++)
    {
        string data123 =  Convert.ToString(asseted[i].PopertyValue);
        string data234 = Convert.ToString(asseted[i].PropertyName);
        list.Add(new Asseted(data123,data234));

    }
    return View();
}

包含要调用的方法的模型如下:

[XmlRoot]
public class Asseted
{
    string pName, pValue;
    private string data234;
    private string data123;

    private Asseted(string data234, string data123)
    {
        // TODO: Complete member initialization
        PropertyName = data234;
        PopertyValue = data123;
    }
    [XmlElement]
    public string PropertyName { get; set; }

    [XmlElement]
    public string PopertyValue { get; set; }
}
曼弗雷德·拉德维默

有什么方法可以从控制器访问模型的私有构造函数?

虽然这是否是解决问题正确方法可能会引起争议,但可以使用YES回答问题本身而且反射起来也不是很难。

ConstructorInfo constructor = typeof(Asseted).GetConstructor(
    BindingFlags.NonPublic | BindingFlags.Instance, 
    null, 
    new[] { typeof(string), typeof(string) }, 
    null);

Asseted instance = constructor.Invoke(new[] { 
    "data234", 
    "data123" 
}) as Asseted;

基本上,您将获得类型(Asseted),与您的已知参数类型匹配的构造函数并对其进行调用。完毕。

附加说明:根据您的编译器和实际代码,您可能会遇到TypeAccessException

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在单独的类中访问私有构造函数?

来自分类Dev

如何在Java MVC Web应用程序中构造控制器类?

来自分类Dev

如何在MVC中测试控制器类?

来自分类Dev

如何在MVC中测试控制器类?

来自分类Dev

如何在控制器类中调用模型类

来自分类Dev

AngularJS如何在控制器中声明私有变量和函数

来自分类Dev

AngularJS如何在控制器中声明私有变量和函数

来自分类Dev

做junit时如何在Spring MVC控制器中传递参数到post方法?

来自分类Dev

如何在Sails中访问控制器外部的模型

来自分类Dev

如何在Sails中访问控制器外部的模型

来自分类Dev

如何在 Ember 控制器中访问模型数据

来自分类Dev

如何测试调用私有函数的控制器函数,该私有函数又依次调用angularjs中的异步函数

来自分类Dev

如何在控制器中包括不是模型的类

来自分类Dev

MVC4如何在具有空参数的控制器中执行功能

来自分类Dev

如何从构造函数作为参数的函数中访问私有类的属性?

来自分类Dev

控制器类如何访问模型类?

来自分类Dev

如何使用构造函数访问控制器中的数据库连接

来自分类Dev

如何在ASP.NET MVC中的控制器中调用模型方法

来自分类Dev

Ihttpcontextaccessor 在构造函数内的实用程序类中使用,如何在控制器中创建该类的实例

来自分类Dev

如何将参数传递给 javafx 中 fxml 控制器类的构造函数?

来自分类Dev

如何在jsp中调用Spring MVC控制器

来自分类Dev

如何在Spring MVC中映射多个控制器

来自分类Dev

如何在Spring MVC中创建主控制器

来自分类Dev

如何在MVC控制器中写入数据?

来自分类Dev

如何在Spring MVC中映射多个控制器

来自分类Dev

如何在MVC控制器中覆盖动作?

来自分类Dev

如何在控制器MVC中添加必需的模型属性?

来自分类Dev

如何在<script>标签中获取Spring MVC控制器模型键值

来自分类Dev

如何在MVC中绑定模型类

Related 相关文章

  1. 1

    如何在单独的类中访问私有构造函数?

  2. 2

    如何在Java MVC Web应用程序中构造控制器类?

  3. 3

    如何在MVC中测试控制器类?

  4. 4

    如何在MVC中测试控制器类?

  5. 5

    如何在控制器类中调用模型类

  6. 6

    AngularJS如何在控制器中声明私有变量和函数

  7. 7

    AngularJS如何在控制器中声明私有变量和函数

  8. 8

    做junit时如何在Spring MVC控制器中传递参数到post方法?

  9. 9

    如何在Sails中访问控制器外部的模型

  10. 10

    如何在Sails中访问控制器外部的模型

  11. 11

    如何在 Ember 控制器中访问模型数据

  12. 12

    如何测试调用私有函数的控制器函数,该私有函数又依次调用angularjs中的异步函数

  13. 13

    如何在控制器中包括不是模型的类

  14. 14

    MVC4如何在具有空参数的控制器中执行功能

  15. 15

    如何从构造函数作为参数的函数中访问私有类的属性?

  16. 16

    控制器类如何访问模型类?

  17. 17

    如何使用构造函数访问控制器中的数据库连接

  18. 18

    如何在ASP.NET MVC中的控制器中调用模型方法

  19. 19

    Ihttpcontextaccessor 在构造函数内的实用程序类中使用,如何在控制器中创建该类的实例

  20. 20

    如何将参数传递给 javafx 中 fxml 控制器类的构造函数?

  21. 21

    如何在jsp中调用Spring MVC控制器

  22. 22

    如何在Spring MVC中映射多个控制器

  23. 23

    如何在Spring MVC中创建主控制器

  24. 24

    如何在MVC控制器中写入数据?

  25. 25

    如何在Spring MVC中映射多个控制器

  26. 26

    如何在MVC控制器中覆盖动作?

  27. 27

    如何在控制器MVC中添加必需的模型属性?

  28. 28

    如何在<script>标签中获取Spring MVC控制器模型键值

  29. 29

    如何在MVC中绑定模型类

热门标签

归档