我创建了一个具有布尔属性和集合的对象。
我所做的:
我有一个在发布时被调用的方法,该方法又调用了另一个返回对象的方法。我的问题是我没有获得对象属性。
public object methodThatReturnsAnObject(string a, string b)
{
object data = new {isSaved = false, personsToCredit = ""}
// perform my code and if all is valid i set values to my object properties and return the object
data = new {isSaved = valid, personsToCredit = persons }
return data;
}
我的另一种方法:
object Information = methodThatReturnsAnObject(string a, string b);
我的问题是什么?当我调试Information
对象时,该对象包含两个属性,当我键入Information.isSaved
内容时,我希望获得该属性,但它表示信息不包含isSaved
?的定义。
您希望编译器知道您的对象将具有那些动态属性。
这只是您必须正确使用的基本面向对象。
您需要做的是(1)使用两个属性定义一个特定的类,然后让您的方法返回该类,或者(2)使用dynamic
而不是object
。
方法1的示例:
public class UpdateInfo
{
public bool IsSaved {get; set;}
...
}
public UpdateInfo MethodThatReturnsUpdateInfo(string a, string b)
{
...
}
dynamic
仅在无法使用方法1的情况下才应使用,但是我要说在所有情况的99.9%中,方法1是可行的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句