说我有以下课程:
class MyClass
{
private int memberVar;
public MyClass(int passedInVar)
{
memberVar = passedInVar;
}
}
Run Code Online (Sandbox Code Playgroud)
在构造函数中,传入一个int并将其分配给私有成员变量.
我的问题是,最好是在类的私有方法之间传递int变量,还是不将int变量作为参数传递,而是让每个私有方法直接访问private membervar?
即这是(例A):
class MyClass
{
private int memberVar;
public MyClass(int passedInVar)
{
memberVar = passedInVar;
}
public MyPublicMethod()
{
MyPrivateMethod(memberVar);
}
public MyPrivateMethod(int variable)
{
// Do something with passed in variable...
}
}
Run Code Online (Sandbox Code Playgroud)
比这更好(例B):
class MyClass
{
private int memberVar;
public MyClass(int passedInVar)
{
memberVar = passedInVar;
}
public MyPublicMethod()
{
MyPrivateMethod();
}
public MyPrivateMethod()
{
// Do something with memberVar... …Run Code Online (Sandbox Code Playgroud) 我在 ac# 类库中有以下代码...
public static class foo
{
public enum bar
{
bsNone = -1,
bsSolid = 0,
bsDash = 1
}
}
Run Code Online (Sandbox Code Playgroud)
在 VB.Net Winforms 应用程序中,我引用枚举作为属性的返回类型:
Private _LeftBorderStyle As foo.bar
Public Property LeftBorderStyle() As foo.bar
Get
Return _LeftBorderStyle
End Get
Set(ByVal value As foo.bar)
_LeftBorderStyle = value
End Set
End Property
Run Code Online (Sandbox Code Playgroud)
当我构建 VB.Net 项目时,我收到以下警告:
Return type of function 'LeftBorderStyle' is not CLS-compliant.
Run Code Online (Sandbox Code Playgroud)
你能告诉我为什么枚举不符合 CLS 吗?
我刚刚升级到 VS2019 Pro。我正在设置新的解决方案过滤器功能,以允许我仅使用我正在处理的项目的依赖项部分加载我的解决方案,并在加载(或重新加载)ASP.Net MVC Web 项目时遇到问题。
见这里:https : //youtu.be/u5YauFxb2Ho?t=783
我所做的是关闭我的解决方案,然后转到新的起始页并选择打开项目或解决方案。
然后浏览到解决方案的 *.sln 文件并勾选“不加载项目”复选框,以便打开解决方案但不加载任何项目。
当我右键单击 Web 项目并选择“重新加载项目”时,出现“值不在预期范围内”错误。
我在Visual Studio 2015中有一个相当复杂的解决方案.它的源代码使用Visual Studio Online控制,TFS作为源代码控制机制.
结构如下:
DefaultCollection
Team Project Root
|
----Web Apps Folder
|
----Web Application 1
|
----WebApplication1.csproj
|
----Web Service 1
|
----Web Service 2
|
----Winforms Folder
|
----Winforms App 1
|
----Winforms App 2
|
----Common Files Folder
MySolution.sln
Run Code Online (Sandbox Code Playgroud)
MySolution.sln位于Team Project Root中,该解决方案包含其中的所有各种应用程序,这些应用程序是Web应用程序,Web服务和Windows应用程序的混合体.
我遇到的问题是我不熟悉分支,我想分支整个解决方案,但我认为我的SLN文件在root中的方式会让这很困难吗?
我需要的是让Web应用程序1分支,我知道我可以分支Web应用程序1.但是为了运行它,我需要创建一个新的解决方案文件来包含它,这会搞砸.
有没有办法可以从这个场景中分支整个解决方案,还是我必须尝试以某种方式重新构造事物?
我刚刚遇到这种情况,我想我会分享它,以防它为您节省一些时间。
我在 VS2017 中有一个相当大的解决方案,并且有一个共享项目,其中包含一些通用代码,例如枚举。
我只是尝试将我的共享项目添加到另一个项目(右键单击项目,添加引用并转到共享项目部分)并注意到共享项目是空的。它没有给我共享项目作为一个选项。
看我下面的回答...