Izz*_*zzy 7 c# asp.net web-services
我有一个非常奇怪的场景,我似乎无法弄清楚发生了什么.我有一个用C#编写的Web服务,目标框架是3.5.我有很多类和方法但为了简单起见,我将在问题中只使用两个类.
public class PathNames
{
private string _pathA = "Some Path";
private string _pathB = "Another Path";
public string BaseDirectoryPath
{
get
{
return Path.Combine(_pathA, _pathB);
}
}
}
Run Code Online (Sandbox Code Playgroud)
第二节如下:
public class UserInformation
{
public string UserName { get; set; }
...//more properties
}
Run Code Online (Sandbox Code Playgroud)
上述两个类都是相同的namespace.
Web服务在WebForm应用程序中引用,目标框架为4.0.一切似乎工作正常,我可以在看到UserInformation它时看到课程Object Browser.然而,这个PathNames班似乎并不可见Object Broswer.
有问题的两个源文件都设置Compile在File Propertieswindows中.我有5个类似于窗口中的UserInformation相同设置File Properties,它们只是简单的POCO,只有公共汽车.这些都似乎正在通过,我可以访问它们并在中看到它们Object Browser.由于一些奇怪的原因,我无法PathNames上课.我试图添加一些新的虚拟类,并与类具有相同的问题PathNames.有人可以告诉我,我做错了.
Web服务旧ASMX
正在通过VS添加服务引用创建Web服务客户端
使用VS 2017专业版 - 15.6.7版.
发布后,如果我解压缩dll,那么PathNames类就在那里.所以它显然在dll中.
我看过这个,但仍然没有运气.
基于示例的唯一区别是,一个属性是readonly可以修改的,而另一个属性可以修改。
为了使类可序列化,请考虑对属性进行分解
public class PathNames {
private string _pathA = "Some Path";
private string _pathB = "Another Path";
public PathNames() {
BaseDirectoryPath = Path.Combine(_pathA, _pathB);
}
public string BaseDirectoryPath { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
您可以使用默认构造函数来设置属性的默认值
或者只是在房产上有一个空的二传手
public class PathNames {
private string _pathA = "Some Path";
private string _pathB = "Another Path";
public string BaseDirectoryPath {
get {
return Path.Combine(_pathA, _pathB);
}
set {
//No OP
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1401 次 |
| 最近记录: |