对象是类中的变量类型还是变量名称? - c#

我对OOP有一个非常基本的了解,但是对于构成对象的内容我有些困惑,因此,如果听起来像一个愚蠢的问题,我感到抱歉。

public class StatMetaData
{
    public string key { get; set; }
    public string name { get; set; }
    public string categoryKey { get; set; }
    public string categoryName { get; set; }
    public bool isReversed { get; set; }
}

在我的代码中,我正在使用此类存储已解析的JSON信息,并且我理解它们的全部工作原理,但我想知道是否因为这些变量是其自身类的一部分而将它们计为对象?还是必须将object数据类型分类为对象?

如果我完全不理解任何帮助,将不胜感激,我浏览过的网站并没有很好地定义实际上可以归类为对象的内容。

参考方案

在c#中,几乎所有东西都是对象,让我们以您的代码为例:

public class StatMetaData
{
    public string key { get; set; }
    public string name { get; set; }
    public string categoryKey { get; set; }
    public string categoryName { get; set; }
    public bool isReversed { get; set; }
}

以下所有项目均正确:

object c = new StatMetaData(); //thus the instance of the class is an object
object k = new StatMetaData().Key; //an instance of string is also an object
object b = new StatMetaData().isReversed; //an instance of bool is also an object

用简单的术语(它超出了这个简单的语句),我们说一个对象是basically anything that you store in memory。当声明类型为StatMetaData的类时,由于没有实例,所以没有对象,您只是在声明Type ...时才创建StatMetaData的新实例,而在其中记忆。

还要注意,例如object myObj;并不是内存中的对象,除非您有类似object myObj = new object();的对象类型,否则它也是一种类型。

从列表中获取价值(C#UWP) - c#

我有课 public class RootObject { public int id { get; set; } public int parent_id { get; set; } public string status { get; set; } public string order_key { get; set; } public string …

.get()之后,多处理陷入困境 - python

我试图了解multiprocessing如何在python中工作并遇到一些问题。这是示例:import multiprocessing def func(): return 1 p = multiprocessing.Pool() result = p.apply_async(func).get() 调用.get()函数时,代码只是卡住了。我究竟做错了什么?…

AJAX和file_get_contents - php

我有一个使用file_get_contents的脚本,然后解码返回的JSON ...$urlone = json_decode(file_get_contents("http://api.twitter.com/1/statuses/user_timeline.json?include_entities=true&include_rts=f…

下载file_get_contents响应 - php

我有以下jQuery:$(".download").click(function(){ $.post('get_bot.php', "url_code="+url_code, function (response) { alert(response); }); }); url_code是一个具有js…

局部类中的自定义属性(无效的列名称) - c#

我通过脚本创建了数据库,然后使用scaffold命令在Visual Studio中创建了我的类,我为实体(用户)添加了新的部分类,并在其中每次运行时都添加了一些自定义属性(该属性不会出现在数据库中) a转到该实体,它将为我在我的局部类中设置的每个自定义属性引发错误的无效列名。异常消息:SqlException:无效的列名称'ResidentialName'。…