混淆文件.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();
我猜Order
要么是打字错误,要么是EntityFramework生成的数据库上下文中的类型。如果是后者,应该有从wsOrder
到Order
的映射,反之亦然。
I不是"文件作为类的名称"。c#不这样做。一个文件中可以有多个类,一个类可以分布在多个文件中(使用partial
)。但是它不从文件中派生类名。