小编Ale*_*x B的帖子

如何在C++中匹配派生类型的元素上创建迭代器?

我想在C++中使用迭代器,它只能迭代特定类型的元素.在以下示例中,我想仅迭代SubType实例的元素.

vector<Type*> the_vector;
the_vector.push_back(new Type(1));
the_vector.push_back(new SubType(2)); //SubType derives from Type
the_vector.push_back(new Type(3));
the_vector.push_back(new SubType(4)); 

vector<Type*>::iterator the_iterator; //***This line needs to change***

the_iterator = the_vector.begin();
while( the_iterator != the_vector.end() ) {
    SubType* item = (SubType*)*the_iterator;
    //only SubType(2) and SubType(4) should be in this loop.
    ++the_iterator;
}
Run Code Online (Sandbox Code Playgroud)

我如何在C++中创建这个迭代器?

c++ iterator stl

3
推荐指数
2
解决办法
2933
查看次数

"模拟"数据库与"真实"数据库行为之间的差异

我们将C#和Linq2SQL与MS SQL Server数据库一起使用.我们有一个mockdatacontext来进行一些单元测试.在测试时,我们发现了两种不同的行为,具体取决于是使用"真实"还是"模拟"数据库.

场景1:真实数据库

数据库中有5条记录:

db = realDatabase
db.InsertOnSubmit(new record)

var count1 = db.getTable.Count()

db.SubmitChanges()

var count2 = db.getTable.Count()
Run Code Online (Sandbox Code Playgroud)

count1 = 5 count2 = 6

场景2:模拟数据库

数据库中有5条记录:

db= mockDatabase

db.InsertOnSubmit(new record)

var count1 = db.getTable.Count()

db.SubmitChanges()

var count2 = db.getTable.Count()
Run Code Online (Sandbox Code Playgroud)

count1 = 6 count2 = 6

*"模拟"数据库在调用SubmitChanges()之前已经知道新记录,因此它包含在计数中.为了测试,我们需要两个行为相同.

有没有其他人遇到这个问题,你能建议一个解决方案吗?

c# linq database mocking count

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

我怎么能停止我的while循环?

我想在C#中使用以下代码,但我似乎无法摆脱它.如果用户按下某个键或移动啮齿动物(又称鼠标),我想终止该应用程序.这是我的代码(不笑!).

private void frmDots_KeyDown(object sender, KeyEventArgs e)
{
  bgNotClicked = false;
  Close();
}   

private void frmDots_Click(object sender, EventArgs e)
{
  bgNotClicked = false;
  Close();
}   



  while (bgNotClicked)
  {

    // Clear the first element in our XY position. This is the reverse of the way I   normally create the dots application
    System.Drawing.Rectangle clearDots = new System.Drawing.Rectangle(Dots.PositionX[iCounter], Dots.PositionY[iCounter], 8, 8);

    // Create the black color and brush to clear dots
    Color clearDotsColor = Color.Black;
    SolidBrush clearDotsBrush = new SolidBrush(clearDotsColor);

    // Finally clear …
Run Code Online (Sandbox Code Playgroud)

c#

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

如何自动验证每个元素上都有HTML ID?

我项目中的测试人员希望每个页面元素都有一个唯一的HTML ID,以便更轻松地进行自动化测试.

我很难记得这样做,因为我不需要ID来进行开发.我怎样才能确保我不忘记?

我想也许像Checkstyle这样的东西可以告诉我,甚至是IntelliJ中的"检查" - 但它们似乎都不支持这种功能.

有任何想法吗?

html automated-tests freemarker intellij-idea checkstyle

3
推荐指数
3
解决办法
873
查看次数

通过NANT从属性文件中读取值

如何从属性文件中单独读取值.例如,如何从以下示例中读取build.home或temp.dir的值.

env.properties的内容

build.home=c:\build 
temp.dir=c:\temp
Run Code Online (Sandbox Code Playgroud)

问候

Sarathy

nant

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

当2008可用时,是否有理由使用Visual Studio 2005?

当2008可用时,有什么理由继续运行Visual Studio 2005?

我在一个环境被指定为Visual Studio 2005的项目上工作.这有很好的技术原因吗?我可以使用Visual Studio 2008并构建一个与Visual Studio 2005相同的应用程序构建100%无法区分的应用程序吗?

visual-studio-2005 visual-studio-2008 visual-studio

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

如果没有end return语句,这个C++代码如何编译?

我遇到了以下编译良好的代码(使用Visual Studio 2005):

SomeObject SomeClass::getSomeThing()
{
    for each (SomeObject something in someMemberCollection)
    {
        if ( something.data == 0 )
        {
            return something;
        }
    }
    // No return statement here
}
Run Code Online (Sandbox Code Playgroud)

如果方法结尾没有return语句,为什么要编译?

c++ visual-studio-2005

2
推荐指数
3
解决办法
373
查看次数

如何在ASP.net中创建包含图像的复选框列表?

我有一个要求,我需要在复选框控件中显示图像.

有什么办法可以实现包含图像的复选框列表吗?

asp.net

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

Emacs缩进为C++中的每个语句

我试图让emacs正确格式化c ++中的"for each"结构.

我希望在以下两个示例中将括号与fin 排成一行for:

for each(Type a in b)
        { //^c^s shows substatement-open
            //... do stuff
        }

for( ; ; )
{ //^c^s shows substatement-open
    //... do stuff
}
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,使用[Ctrl-c Ctrl-s](或[Ctrl-c Ctrl-o])显示打开{字符都是类型,substatement-open并且在查看时c-offsets-alist我看到它substatement-open等于0.

如何使emacs缩进for each()命令,类似于缩进for(;;)命令的方式?

c++ emacs foreach indentation

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

德米特对工厂模式和依赖注入的规律

我有一个关于依赖注入的问题.

说我想创建一个类调用它,WebGetTask

WebGetTask需要依赖HttpService

坏代码1代码:

private HttpService  httpService;
...   
List<WebGetTask> list = new ArrayList<WebGetTask>();   
for(...)   
{   
   list.add(new WebGetTask(httpService)); 
}
...
Run Code Online (Sandbox Code Playgroud)

好.我知道这很糟糕,因为注入了httpService,但它从未使用过,除了在新的WebGetTask上创建

好坏代码2代码:

private WebGetTaskFactory webGetTaskFactory;
...  
List<WebGetTask> list = new ArrayList<WebGetTask>();  
for(...)  
{   
    list.add(webGetTaskFactory.newTask());  
}  
...
Run Code Online (Sandbox Code Playgroud)

我认为这更好,因为我们使用工厂但......

从我所在的位置,我可以看到在WebGetTaskFactory中我们仍然注入一个HttpService并且没有对它做任何事情,除了创建一个新的WebGetTask的唯一目的

所以回顾一下我的问题是如何设计一个工厂类(WebGetTaskFactory),当新对象在其构造函数上需要依赖项(HttpService)而不是简单地注入和传递依赖项(HttpService)时,它会创建新对象(WebGetTask)?或者更确切地说,这是这样做的方式吗?如果是这样,那么一切都很好,如果不是,那么请指导我如何正确使用DI和工厂模式.谢谢.

dependency-injection law-of-demeter

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

Excel图表将几个Y值对一个X值

我有多个列,分别代表一个特定的x值的Y值。我正在做一个散点图。在绘制每个系列时,我可以轻松地选择列中存在的y值,但是x值对于每列都是恒定的,我似乎无法弄清楚如何针对多个y列值重复一个恒定的x值。有人知道如何在文本框“ X值”中提供一个可重复的值吗?

excel charts

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

Java String to Date 没有时间

我正在学习 Java 课程,我需要将字符串转换为日期格式 (dd/MM/yyyy)。我一直在使用 SimpleDateFormat 来格式化我的输入,但它显示了日期所属的时间、时区和星期几。这是我的代码片段:

SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy"); 
Date date = new Date(); 
do{ 
    y = JOptionPane.showInputDialog(null, 
                                    "Please enter the vehicle's registration date",
                                    "Year?", 
                                    JOptionPane.QUESTION_MESSAGE); 
    try { 
        date = df.parse(y); 
        check = true; 
    } 
    catch (ParseException e) { 
        check = false; 
    } 
} 
while (check == false); 
return date;
Run Code Online (Sandbox Code Playgroud)

任何人都知道如何将格式保持为日期(例如 12/3/2000)?谢谢

java

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