小编use*_*212的帖子

使用"相同名称"属性实现2个接口

这似乎是一个合理的(也许是简单的?)场景,但您将如何执行以下操作:

可以说我有2个接口:

Interface ISimpleInterface
    string ErrorMsg { get; } 
End Interface

Interface IExtendedInterface
    string ErrorMsg { get; set; }    
    string SomeOtherProperty { get; set; }
End Interface
Run Code Online (Sandbox Code Playgroud)

我想要一个类来实现这两个接口:

Public Class Foo Implements ISimpleInterface, IExtendedInterface
Run Code Online (Sandbox Code Playgroud)

如果每个接口具有不同的访问级别,如何在类中定义ErrorMsg属性?

以下是我想知道的情况:我正在使用伪造的MVC架构编写UserControl,其中UserControl将扩展接口暴露给它的Controller,并将Simple接口暴露给控件的使用者.

顺便说一句,在VB.NET中实现这一点(vb中的任何建议的synatx将不胜感激).

c# vb.net multiple-inheritance

9
推荐指数
2
解决办法
7907
查看次数

omu.valueinjecter深度克隆不同于类型

我想我错过了一个带有valueinjecter和/或AutoMapper的简单概念,但是你如何深深地将父dto.Entity克隆到biz.Entity并包含所有孩子呢?

例如,biz.person.InjectFrom(dto.person).我想dto.person.AddressList集合到biz.person.AddressList收集拷贝,即使dto.Addressbiz.Address有不同的类型,但具有相同的属性名称.

我的想法是,如果Parent属性名称拼写相同,例如AddressList,那么2个底层对象是否属于不同类型并不重要.它仍然会复制同名的简单类型,如int,string等.

谢谢

wcf valueinjecter

7
推荐指数
1
解决办法
2844
查看次数

是什么导致VB6"运行时错误'5':无效的过程调用或参数"

在VB6中,用户偶尔会收到此错误,我无法重现它.

Run-Time Error '5': Invalid Procedure Call or Argument

我正在引用"MSWord 10对象库",有时这个错误发生在应用程序打开MSWord 2002之后的某个时刻.但是,这个应用程序多年来引用了MSWord 10对象库,这个错误刚刚开始发生在最后几个个月.

我假设我在某个地方引入了一个bug,但不知道是什么原因导致它.当我站在那里时,错误不会经常发生并且不能由用户再现.该错误迫使应用程序完全关闭.

用户正在运行Windows XP

vb6 error-handling runtime-error citrix

6
推荐指数
1
解决办法
5万
查看次数

表上的索引策略

我有一个名为'EventTable'的SQL Server 2005表定义如下:

EventID,EventTypeCode,EventStatusCode,EventDate

目前该表在主键'EventID'上有一个聚簇索引,当前没有其他索引

EventTypeCode和EventStatusCode列是CHAR(3)(示例是'NEW','SEN','SAL')并且是外键

常见选择将是......

select * from EventTable Where EventDate = @dateparam;
select * from EventTable Where EventTypeCode = @eventtype;
select * from EventTable Where EventStatusCode = @statustype;
Run Code Online (Sandbox Code Playgroud)

您将使用什么索引策略来处理上面的Select语句?

在3列上有覆盖(复合)指数是否更好?如果是这样,复合指数应该采用什么顺序?

或者3列中的每一列都有单独的索引?

该表将以每天约300个事件的速度增长.


执行诸如的查询也很常见

where EventDate between '2008-12-01' and '2008-12-31'
  and EventTypeCode = 'todo'
Run Code Online (Sandbox Code Playgroud)
select * from EventTable Where EventDate = @dateparam;
select * from EventTable Where EventTypeCode = @eventtype;
select * from EventTable Where EventStatusCode = @statustype;
Run Code Online (Sandbox Code Playgroud)

  • 该表更有可能以每天500-800 /条的速度增长而不是300条
  • 在正常使用ASP.NET应用程序期间,初始问题中提到的查询将在一天中运行多次
  • NHibernate'HQL'用于执行此类查询
  • 没有初始加载的数据,该表现在只有大约10K记录,因为这是一个新的应用程序
  • ...我或多或少只是试图避免客户在几年内打电话给我们抱怨应用程序变得"慢",因为这个表会受到如此多的打击

sql sql-server indexing sql-server-2005

4
推荐指数
1
解决办法
990
查看次数

记录用户登录以报告客户端超过许可证数量

我是商业Windows应用程序(c#)的首席开发人员.新要求是跟踪滥用许可证的客户.

例如:假设客户购买了10个用户许可协议,即在任何给定时间内同时拥有10个用户.

我需要能够报告,回顾历史,客户有超过10个用户同时登录的所有时间.

我已经有一个包含列的User表:userid(主键),pw,lastLogin,lastLogout.

我正在考虑创建一个新的"日志记录"表,每次用户注销时都会添加一个新行...列可能包括:

LogId,UserId,LoginDateTime,LogoutDateTime

...然后我会有一个用户每次登录/退出应用程序的历史记录...

但是我不确定这个表设计是否会为报告提供有效的计算...我是否使用SQL或c#来执行计算对我来说无关紧要,只要它相当快......

希望有人可能对如何更好地设计此表有一个好主意,以便我可以快速计算客户超出许可限制时的任何/所有时间点.

注意:我不想阻止11t,12th等用户使用该应用程序...要求是向用户显示警告消息但允许他继续工作...

c# sql

2
推荐指数
1
解决办法
1090
查看次数

如果行中表示的字段为空,则在.NET rdlc报告中隐藏tablerow?

可能重复:
如何折叠RDLC中的行而不是隐藏它?

我看到了tablerow.Visibility属性和另一个名为'ToggleItem'的属性,但我不确定如何使其工作.我想动态隐藏tablerow,如果它只是文本字段(在这种情况下是用户注释字段)为空.'CanShrink'似乎没有做到这一点.

桌面高度为0.25英寸,即使没有数据显示也占用了这么多空间.因此,我最终在报告的每一行之间有0.25英寸的差距.

我正在使用Visual Studio 2005内置的rdlc报告功能.

.net-2.0 reporting-services

1
推荐指数
1
解决办法
1万
查看次数

如何处理荒谬的评论?

使用经典的VB6应用程序,成千上万的疯狂评论.

例:

If garrFilePaths(i).FilePath = "" Then
'do nothing
Else
MsgBox "File Not Found (" & garrFilePaths(i).FilePath & ")", vbOKOnly, gcstrMessageBoxTitle
End If

vb6 comments

0
推荐指数
1
解决办法
306
查看次数