混淆文件.cs名称,类名称

本文关键字:名称 文件 cs | 更新日期: 2023-09-27 18:08:21

所以我是按照教程发送JSON数据到SQL使用WCF服务。

假设项目命名为JsonWcfService。

在这个项目中有一个名为Order.cs的。cs文件添加:

namespace JsonWcfService
{
    [DataContract]
    [Serializable]
    public class wsOrder
    {
        [DataMember]
        public int OrderID { get; set; }
        //some other fields
    }
}

可以看到,文件名和类名是不同的。

然后,有一个函数使用这个类,来反序列化发送的Json数据,接受Stream JSONDataStream作为参数:

StreamReader stream = new StreamReader(JSONDataStream);
string JSONData = stream.ReadToEnd();
JavaScriptSerializer jss = new JavaScriptSerializer();
wsOrder order = jss.Deserialize<wsOrder>(JSONData);

所以这里的数据被反序列化为wsOrder类的单个实例(如果我理解正确的话)。

接下来,我们看看数据库中是否有与我们的OrderID匹配的记录:

testDBDataContext dc = new testDBDataContext();
Order currentOrder = dc.Orders.Where(o => o.OrderID == order.OrderID).FirstOrDefault();

这是我的困惑:Order currentOrder -它说它是一个订单。cs文件的实例?这是一个名称空间吗?

当我尝试编写自己的WCF服务,并创建一个public class wsExample里面的Example.cs时,它给了我以下错误:

The type or namespace name 'Example' could not be found (are you missing a using directive or an assembly reference?)

当我尝试使用上面描述的相同方法时:

StreamReader stream = new StreamReader(testData);
string testReceive = stream.ReadToEnd();
JavaScriptSerializer jss = new JavaScriptSerializer();
wsExample example = jss.Deserialize<wsExample>(testReceive);
testDBDataContext dc = new testDBDataContext();
Example currentExample = dc.testTable.Where(o => o.name == example.Name).FirstOrDefault();

混淆文件.cs名称,类名称

我猜Order要么是打字错误,要么是EntityFramework生成的数据库上下文中的类型。如果是后者,应该有从wsOrderOrder的映射,反之亦然。

I不是"文件作为类的名称"。c#不这样做。一个文件中可以有多个类,一个类可以分布在多个文件中(使用partial)。但是它不从文件中派生类名。