有人一直在谈论Enums一般违反清洁守则原则,所以我正在寻找人们最喜欢的Enum反模式和替代解决方案.
例如,我见过这样的代码:
switch(enumValue) {
case myEnum.Value1:
// ...
break;
case myEnum.Value2:
// ...
break;
}
Run Code Online (Sandbox Code Playgroud)
它比带有魔术字符串的switch语句更好一步,但这可能已经通过工厂,容器或其他模式更好地解决了.
甚至像这样的老派代码:
if(enumValue == myEnum.Value1) {
// ...
} else if (enumValue == myEnum.Value2) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
您对枚举有哪些其他反模式和更好的实现?
我希望一个常量变量对于包中的所有类是通用的.有没有办法我可以做到这一点,而不是只使用其中的一个定义接口,并使每个类实现它?
我有一个DataGrid,绑定到Database表,我需要获取所选行的内容DataGrid,例如,我想在MessageBox所选行的内容中显示.
示例DataGrid:

所以,如果我选择第二行,我MessageBox必须显示如下内容:646 Jim Biology.
我正在尝试创建一个页面,其中来自数据库的信息显示在页面上.为此,我正在使用Gridview控件.数据显示正常,但它显示相同的信息两次.基本上,两个表格由ASP绘制并排放在一起.
继承我正在使用的代码:
<asp:GridView ID="PackagesGV" runat="server" Width="520px">
<Columns>
<asp:BoundField DataField="ID" HeaderText="Package ID"/>
<asp:BoundField DataField="PackageName" HeaderText="Package Name"/>
<asp:BoundField DataField="PackageText" HeaderText="Package Text"/>
<asp:BoundField DataField="PackageImageID" HeaderText="Package Image"/>
<asp:BoundField DataField="PageID" HeaderText="Page ID"/>
</Columns>
</asp:GridView>
Run Code Online (Sandbox Code Playgroud)
此外,SQL存储过程正在提取Gridview所需的所有字段.SQL基本上就是
"SELECT [ID], [PackageName], [PackageText], [PackageImageID], [PageID] FROM [Packages]"
所以我不是使用存储过程两次请求信息.
我在七月份开始使用ASP.NET,所以如果这很简单,我现在道歉.
谢谢!迈克尔
我是Android开发的新手.
我想创建并开始一项活动来显示有关游戏的信息.我展示了我需要一个gameId的信息.
如何将此游戏ID传递给活动?游戏ID是绝对必要的,所以我不想创建或启动活动,如果它没有ID.
这就像活动只有一个带有一个参数的构造函数.
我怎样才能做到这一点?
谢谢.
那么,我在使用自定义属性装饰的几个服务中获得了许多方法。
该属性用途ApplyDispatchBehavior从IOperationBehavior附加到方法和BeforeCall和AfterCall从方法IParameterInspector之前和服务方法被调用后做一些处理。
一切都很好,很好……当服务方法需要返回 http 状态和消息时,问题就来了。我能找到的唯一方法是让方法WebFaultException<T>传递我们的消息和适当的 http 状态。
问题AfterCall在于从未调用附加属性。
它的长短是:
WebFaultException<T>有没有办法仍然可以使用返回的消息调用我的属性?我正在开发可以处理多个数据库服务器的应用程序,如"MySQL"和"MS SQL Server".
我想使用适用于所有数据库类型的通用查询来获取特定数据库的表名.我试过以下:
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'
Run Code Online (Sandbox Code Playgroud)
但它给出了特定服务器的所有数据库的表名,但我想获取所选数据库的表名.如何限制此查询以获取特定数据库的表?
对于普通属性getter/setter语法
let mutable myInternalValue
member this.MyProperty
with get() = myInternalValue
and set(value) = myInternalValue <- value
Run Code Online (Sandbox Code Playgroud)
是否有一个快捷方式,类似于C#中的以下内容?
someType MyProperty { get; set; }
Run Code Online (Sandbox Code Playgroud)
如果有的话,我似乎无法找到它......