我有这些C++类:
class Base
{
protected:
static int method()
{
static int x = 0;
return x++;
}
};
class A : public Base
{
};
class B : public Base
{
};
Run Code Online (Sandbox Code Playgroud)
将x静态变量之间共享A和B,或将他们中的每一个都有它自己的独立x变量(这是我想要什么)?
我刚刚将.Net3.5的WPF应用程序更改为.Net4.这样做会导致我的所有全局样式停止工作.只有使用键明确设置的样式才有效.我做了一些研究,找出了导致这种情况的原因,并在一个简单的应用程序中重现了它.
我有一个简单的WPF应用程序,只包含一个带文本的按钮 - 没有样式或其他任何东西.我为App.Xaml的ResourceDictionary中的所有按钮定义了一个样式:
<Style TargetType="{x:Type Button}">
<Setter Property="Background" Value="Red"></Setter>
</Style>
Run Code Online (Sandbox Code Playgroud)
我的按钮现在是红色 - 一切都很好.我现在将其移动到单独项目中的单独ResourceDictionary中.这是我想要保留所有共享样式的地方.该按钮仍为红色,我从App.xaml到SharedStyles.xaml的引用如下所示:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/StyleLib;component/SharedStyles.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
Run Code Online (Sandbox Code Playgroud)
现在 - 我希望StyleLib的SharedStyles.xaml保存所有特定的样式定义,因此我在名为ButtonStyles.xaml的同一项目中创建了一个新文件,并在那里添加了资源.实际上 - 我也添加了另一种样式,并且明确使用了一个键(技术上我稍后添加了这个,所以这与发生的问题没有任何关系).
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style TargetType="{x:Type Button}">
<Setter Property="Background" Value="Red"></Setter>
</Style>
<Style x:Key="Explicit" TargetType="{x:Type Button}">
<Setter Property="Background" Value="Blue"></Setter>
</Style>
</ResourceDictionary>
Run Code Online (Sandbox Code Playgroud)
ButtonStyles.xaml是从SharedStyles.xaml引用的:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/StyleLib;component/ButtonStyles.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
Run Code Online (Sandbox Code Playgroud)
现在 - 我的按钮控件不再设置样式了.实际上 - 它仍然在VS2010的预览窗口中显示为样式,但是当我运行应用程序时,它们没有被设置样式.如果我使用键"Explicit"显式引用样式,它们将获得此样式 - 因此成功包含该文件.
另一个有趣的事情是,如果我现在在SharedStyle.xaml中添加另一个样式 - 例如StackPanel的全局样式(这是我尝试过的) - 那么ButtonStyle.xaml中的全局样式神奇地开始工作..!
我现在的问题是,如果我做错了什么,或者这听起来像.Net4中的错误?对我来说听起来像个错误..这在.Net3.5中运行得很好!
我有一堆用CPPunit编写的模块测试,手工创建了一些模拟.我正在寻找一种尽可能顺利地将它们迁移到GoogleTest的方法.你试过这样的手术吗?需要付出什么努力?
我不知道为什么我无法解决这个问题,我认为应该相当简单.我有两个型号(见下文).我正在尝试为SupplierCategory提出一个命名范围,该范围将找到所有SupplierCategory(s)(包括:供应商),其关联的供应商不是空的.
我尝试了一个直接加入,named_scope :with_suppliers, :joins => :suppliers它只给了我与供应商的类别,但它给了我每个类别单独列出,所以如果一个类别有2个供应商,我在返回的数组中获得两次类别:
目前我正在使用:
named_scope :with_suppliers, :include => :suppliers
Run Code Online (Sandbox Code Playgroud)
然后在我看来我正在使用:
<%= render :partial => 'category', :collection => @categories.find_all{|c| !c.suppliers.empty? } %>
Run Code Online (Sandbox Code Playgroud)
不完全雄辩,但说明了我想要实现的目标.
类定义
class SupplierCategory < AR
has_many :suppliers, :order => "name"
end
class Supplier < AR
belongs_to :supplier
end
Run Code Online (Sandbox Code Playgroud) 我尝试编写一个LINQ语句,它返回所有可能的数字组合(我需要这个测试,我的灵感来自Eric Lippert的这篇文章).我调用的方法原型如下:
IEnumerable<Collection<int>> AllSequences( int start, int end, int size );
Run Code Online (Sandbox Code Playgroud)
规则是:
size start和之间的每个数字end所以调用AllSequences( 1, 5, 3 )应该会产生10个集合,每个集合大小为3:
1 2 3
1 2 4
1 2 5
1 3 4
1 3 5
1 4 5
2 3 4
2 3 5
2 4 5
3 4 5
Run Code Online (Sandbox Code Playgroud)
现在,不知怎的,我真的很想看到纯粹的LINQ解决方案.我可以自己编写非LINQ解决方案,所以请不要在没有LINQ的情况下投入解决方案.
到目前为止,我的尝试已经结束,我必须加入一个数字与我的方法的递归调用的结果 - 如下所示:
return from i in Enumerable.Range( start, end - size + 1 )
select BuildCollection(i, …Run Code Online (Sandbox Code Playgroud) 我有以下PerformanceFactsheet.aspx.cs页面类
public partial class PerformanceFactsheet : FactsheetBase
{
protected void Page_Load(object sender, EventArgs e)
{
// do stuff with the data extracted in FactsheetBase
divPerformance.Controls.Add(this.Data);
}
}
Run Code Online (Sandbox Code Playgroud)
FactsheetBase定义为
public class FactsheetBase : System.Web.UI.Page
{
public MyPageData Data { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
// get data that's common to all implementors of FactsheetBase
// and store the values in FactsheetBase's properties
this.Data = ExtractPageData(Request.QueryString["data"]);
}
}
Run Code Online (Sandbox Code Playgroud)
问题是FactsheetBase的Page_Load没有执行.
谁能告诉我我做错了什么?有没有更好的方法来获得我追求的结果?
谢谢
我是计算机编码的新手,刚刚完成了对应用程序的编码并在3G和3GS上进行了测试.在3GS上,它在模拟器上正常工作.但是,当我试图在3G上运行它时,应用程序变得极其缓慢.我不确定是什么原因,我希望有人可以对我有所了解.
通常,我的应用程序有几个视图控制器类,其中一个是标题页,一个是主页,一个是设置等.我使用溶解从标题页转换到主页.但即便是这种简单的过渡也表明3G上的表现不顺畅!我的应用程序的另一部分涉及通过放大图像放大图像,通过推送或在接收触摸事件时溶解来切换图像,将照片保存到照片库以及存储和检索文件夹中的一些照片以及SQlite数据库中的一些数据,每个都表现出不顺畅的行动.
与一些沉重的图形或重型数学应用程序相比,我认为我的很简单.我完全不知道为什么应用程序表现得如此缓慢和不顺畅,以至于它在3G上几乎没用.任何帮助/方向将不胜感激.谢谢你的帮助.
我有一个创建地图数组的函数:
map<string, int> *pMap
Run Code Online (Sandbox Code Playgroud)
还有一个将映射写入数组的函数:
int iAddMap(map<string, int> mapToAdd, map<string, int> *m, int i)
{
m = &(pMap[i]);
memcpy(m, mapToAdd, sizeof(map<string, int>));
}
Run Code Online (Sandbox Code Playgroud)
以及从数组中获取映射的函数
map<string, int>& getMap(int i)
{
return pMap[i];
}
Run Code Online (Sandbox Code Playgroud)
我可以毫无问题地将数据写入数组,但每次调用都会导致seg错误:
int val;
// val defined after this
map<string, int> * pGetMap = &(getMap(val));
Run Code Online (Sandbox Code Playgroud)
有关为什么会发生这种情况的任何建议?
我试图弄清楚如何在代码中的某个地方解析实例.
在应用程序启动时,我注册了一个类型
static void Main()
{
var builder = new ContainerBuilder();
builder.RegisterType<Foo>().As<IFoo>();
}
Run Code Online (Sandbox Code Playgroud)
现在,我如何在代码中的某个地方解析实例?
在StructureMAP中有一个静态对象 ObjectFactory.GetInstance<IFoo>()
c++ ×3
.net ×2
c# ×2
.net-4.0 ×1
activerecord ×1
asp.net ×1
associations ×1
autofac ×1
cppunit ×1
googletest ×1
inheritance ×1
iphone ×1
linq ×1
performance ×1
styles ×1
testing ×1
unit-testing ×1
vim ×1
wpf ×1
xcode ×1