是否可以为RDLC字段后面的表达式编写扩展方法?
例如,假设我的数据源中有一个DateTime字段,该字段可能具有有效值,也可能为null.我将TextBox拖放到我的RDLC上,并使用ToShortDateString()方法格式化其值.这适用于填充的DateTime值,但如果我尝试在NULL字段上执行.ToShortDateString(),这显然也会在运行时抛出异常.
我想知道我是否可以编写一个可以在我的RDLC表达式中使用的扩展方法,这样当我处理?DateTime值时,我可以调用类似.ConvertFromNullToEmptyString()的方法.
当然还有其他方法可以解决这个问题,但我想知道在RDLC表达式中使用的扩展方法是否可能是解决我的业务问题的方法.
谢谢大家!
我正在使用VSTS 2K8,我已经建立了一个单元测试项目.在其中,我有一个测试类,其方法可以执行简单的断言.我正在使用Excel 2007电子表格作为我的数据源.
我的测试方法如下所示:
[DataSource("System.Data.Odbc",
"Dsn=Excel Files;dbq=|DataDirectory|\\MyTestData.xlsx;defaultdir=C:\\TestData;driverid=1046;maxbuffersize=2048;pagetimeout=5",
"Sheet1",
DataAccessMethod.Sequential)]
[DeploymentItem("MyTestData.xlsx")]
[TestMethod()]
public void State_Value_Is_Set()
{
string expected = "MD";
string actual = TestContext.DataRow["State"] as string;
Assert.AreEqual(expected, actual);
}
Run Code Online (Sandbox Code Playgroud)
如方法装饰属性所示,我的Excel电子表格位于我的本地C:/ Drive上.在其中,我所有数据所在的工作表名为"Sheet1".
我已将Excel电子表格复制到我的项目中,并设置了Build Action ="Content",并将其Copy设置为Output Directory ="Copy if Newer".
尝试运行这个简单的单元测试时,我收到以下错误:
单元测试适配器无法连接到数据源或读取数据.有关解决此错误的详细信息,请参阅MSDN Library中的"数据驱动单元测试疑难解答"(http://go.microsoft.com/fwlink/?LinkId=62412).错误详细信息:错误[42S02] [Microsoft] [ODBC Excel驱动程序] Microsoft Office Access数据库引擎找不到对象'Sheet1'.确保对象存在,并且您正确拼写其名称和路径名称.
我已经验证了工作表名称拼写正确(即Sheet1),并且我已经验证我的数据源设置正确.
网络搜索根本没有发生太多变化.我完全难过了.
所有帮助或输入都很赞赏!!!!
我有一个WPF应用程序,我正在使用ClickOnce部署部署到网络路径.将应用程序部署到网络位置后,我使用ClickOnce HTML页面启动安装过程.我成功地下载并安装了该应用程序.
但是,我的用户无法下载和安装该应用程序.当用户导航到ClickOnce HTML页面并单击以开始安装过程时,会收到以下错误消息:
ERROR SUMMARY
Below is a summary of the errors, details of these errors are listed later in the log.
* Activation of http://software.mycompany.com/myapp/myapp.application resulted in exception. Following failure messages were detected:
+ Downloading file://dev/webs/software/myapp/myapp.application did not succeed.
* [4/5/2010 1:56:59 PM] System.Deployment.Application.DeploymentDownloadException (Unknown subtype)
- Downloading file://dev/Webs/software/myapp/myapp.application did not succeed.
Run Code Online (Sandbox Code Playgroud)
所有迹象都表明这是一个安全问题.所以,我做了以下事情:
确保"Everyone"具有对作为项目一部分部署的文件的读取权限
确保"Everyone"具有对部署应用程序的网络位置的读取权限(// dev/webs/software/myapp)
确保"Everyone"具有对ClickOnce HTML页面所在的IIS路径的读取权限
在每种情况下,我都没有在通过ClickOnce成功部署应用程序方面取得任何进展.
同样,奇怪的是我能够成功完成下载和安装应用程序的过程.但是,我的用户需要能够下载和安装应用程序.
我已经广泛地在网上寻找答案,但并没有太多.我想在没有"重新安装"或"操纵"任何事情的情况下解决问题.
像所有优秀的程序员一样,在使用带有MS Test的TDD时,我正试图直截了当.我遵循基本的安排,行为,断言模式,对于我的行为代码看起来太复杂了.我假设法案行中只应该有一个动作.那么,鉴于我的示例代码如下,我是否首先执行一个操作然后测试其状态?感谢您的投入.
[TestMethod]
public void TheCountOfAllRecordsIsGreaterThanZero()
{
//Arrange
var auditLog = new AuditMasterClass();
//Act
//Create a new record in a local list of objects
auditLog.LogAction("MyPersonName", DateTime.Now, "Stuff", "MoreStuff",
"Desc",
"Comments", true, false,
"UndoStatement");
//Return the count of objects in the local list
var count = auditLog.GetCommentCount();
//Assert
Assert.IsTrue(count > 0);
}
Run Code Online (Sandbox Code Playgroud)