我已经看过许多关于"嘲弄私有方法"的帖子和问题,但仍然无法使其工作而没有找到真正的答案.让我们忘记代码的味道,你不应该这样做....
根据我的理解,我做了以下事情:
1)创建了一个类库"MyMoqSamples"
2)添加了对Moq和NUnit的引用
3)编辑AssemblyInfo文件并添加[assembly:InternalsVisibleTo("DynamicProxyGenAssembly2")] [assembly:InternalsVisibleTo("MyMoqSamples")]
4)现在需要测试私有方法.因为它是私有方法,所以它不是接口的一部分.
5)添加以下代码
[TestFixture]
public class Can_test_my_private_method
{
[Test]
public void Should_be_able_to_test_my_private_method()
{
// TODO how do I test my DoSomthing method?
}
}
public class CustomerInfo
{
public string Name { get; set; }
public string Surname { get; set; }
}
public interface ICustomerService
{
List<CustomerInfo> GetCustomers();
}
public class CustomerService : ICustomerService
{
public List<CustomerInfo> GetCustomers()
{
return new List<CustomerInfo> { new CustomerInfo { Surname = "Bloggs", Name = "Jo" } }; …Run Code Online (Sandbox Code Playgroud) 愚蠢的问题.鉴于日期时间的日期,我知道它是星期二,例如我怎么知道它的tue = 2和mon = 1等...
谢谢
我正进入(状态
该进程无法访问文件"MyFile.log",因为它正由另一个进程使用.
而我这样做
File.SetAttributes(filename,FileAttributes.Normal)
using (FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite))
{
// Do stuff with log4net log
}
Run Code Online (Sandbox Code Playgroud)
我已阅读其他帖子,但他们都建议我已经在做什么.还有其他建议吗?
谢谢.
我正在寻找一些指导和建议.我是wpf"6个月"的新手,在Windows窗体中开发了8年.
我仍然没有打开或使用blend.I可以看到这是一个设计师的工具,但从程序员的角度来看,这些天有很多东西需要学习,不知道我是否应该打扰.
我是否应该学习如何使用混合物?除了设计东西之外还融合了任何很酷的功能,并使它变得漂亮,这将使我作为一名wpf程序员的生活更轻松吗?
如果您认为我应该学会使用表达混合,请告诉我?
谢谢
我不知道如何为每个人提供一般性答案,所以我编辑了我的问题.
伙计们非常感谢你们所有的答案都很好.我一定会看到它,但不会深入.一个有趣的观点是看看如何构建控件并从中学习.在这个阶段我根本不做任何设计我只是一个纯粹的开发人员.再次感谢.
我有一个场景,我需要在处理后尽快删除队列中的项目.我知道我不能在循环中从一个集合中删除一个项目但是想知道是否可以使用枚举器等完成某些事情......
这只是一个基本的例子,抛出错误"在实例化枚举数后修改了集合".
有什么建议?非常感谢!!!
代码如下:
class Program
{
static void Main()
{
Queue<Order> queueList = GetQueueList();
foreach (Order orderItem in queueList)
{
Save(orderItem);
Console.WriteLine("Id :{0} Name {1} ", orderItem.Id, orderItem.Name);
queueList.Dequeue();
}
Console.Read();
}
private static void Save(Order orderItem)
{
//we are pretending to save or do something.
}
private static Queue<Order>GetQueueList()
{
Queue<Order> orderQueue = new Queue<Order>();
orderQueue.Enqueue(new Order { Id = 1, Name = "Order 1" });
orderQueue.Enqueue(new Order { Id = 1, Name = "Order 2" });
orderQueue.Enqueue(new …Run Code Online (Sandbox Code Playgroud) 我可以从配置文件中读取connectionstring/s但是我需要获取与连接字符串相关联的元素名称
例
<connectionStrings>
<add
name="LocalSqlServer"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
我需要从connectionString中获取LocalSqlServer
我正在使用 Visual Studio 和 Resharper 8。
由于某些原因,我最喜欢的快捷键Ctrl+ K、Ctrl+C 或Ctrl+D不再有效。
事实上,应用程序在状态栏中显示消息:The key combination is(Ctrl K Ctrl C ) is not a command。
任何想法如何重置它们?
非常感谢。
我有填充的字典,我无法控制.
我需要修改值我该怎么做?
我把一个简单的例子放在一起来解释这个问题
class Program
{
static void Main(string[] args)
{
Dictionary<Customer, int> CustomerOrderDictionary = new Dictionary<Customer, int>();
CustomerOrderDictionary.Add(new Customer { Id = 1, FullName = "Jo Bloogs" },3);
CustomerOrderDictionary.Add(new Customer { Id = 2, FullName = "Rob Smith" },5);
//now I decide to increase the quantity but cannot do the below as value has no setter
foreach (var pair in CustomerOrderDictionary)
{
if(pair.Key.Id==1)
{
pair.Value = 4;///ERROR HERE
}
}
}
}
public class Customer
{
public int Id …Run Code Online (Sandbox Code Playgroud) 有点生锈的SQL.在select语句中,如果字段"string"以字母A,B或F结尾,则打印0k,否则打印否
我知道我需要做一些子串但不能正确.
谢谢