我正在研究一个java教程,看到在GridLayout中找到JButton的x/y索引的方法是遍历与布局关联的按钮b的二维数组,并检查是否
b[i][j] == buttonReference.
@Override
public void actionPerformed(ActionEvent ae) {
JButton bx = (JButton) ae.getSource();
for (int i = 0; i < 5; i++)
for (int j = 0; j < 5; j++)
if (b[i][j] == bx)
{
bx.setBackground(Color.RED);
}
}
Run Code Online (Sandbox Code Playgroud)
是否有更简单的方法来获取按钮的X/Y索引?
就像是:
JButton button = (JButton) ev.getSource();
int x = this.getContentPane().getComponentXIndex(button);
int y = this.getContentPane().getComponentYIndex(button);
Run Code Online (Sandbox Code Playgroud)
this是一个GameWindow实例,ev当用户按下按钮时触发ActionEvent.

在这种情况下,它应该得到:x == 2,y == 1
@ GameWindow.java:
package javaswingapplication;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.*;
import javax.swing.*;
public class …Run Code Online (Sandbox Code Playgroud) 我不小心在Visual Studio 2010中按了一些键,最后得到了一个我从未见过的图标,通常放在断点所在的位置:

任何人都可以告诉我它的作用以及如何将其删除?
我想动态使用TOP或者不是这样的......
SELECT @SomeNumber CASE WHERE 0 THEN TOP 5 COLUMNNAME
ELSE COLUMNNAME
END
FROM TABLE
Run Code Online (Sandbox Code Playgroud) 我有一个Parent类,它有两个子集合ChildCollectionA和ChildCollectionB.ChildCollectionA被映射为关联,并具有自己的ID:
HasMany(parent => parent.ChildCollectionA)
.KeyColumn("IDParent")
.AsBag().Cascade.AllDeleteOrphan();
Run Code Online (Sandbox Code Playgroud)
和ChildCollectionB映射有一个组件列表:
HasMany(parent => parent.ChildCollectionB)
.Table("ChildCollectionBTable")
.KeyColumn("IDParent")
.Component(m=>
{
m.References(childB => childB.Task, "IDTask").Not.LazyLoad().Not.Nullable();
m.Map(childB => childB.Date, "Date").Not.Nullable();
}
)
.AsBag().Cascade.AllDeleteOrphan();
Run Code Online (Sandbox Code Playgroud)
我现在需要DataBase中的所有Parent,因为我必须执行一些需要ChildCollectionA和ChildCollectionB的操作.
所以我不得不急于加载它们,我使用获取模式首先急切加载ChildCollectionA:
var queryParents = session.CreateCriteria().SetFetchMode("ChildCollectionA",FetchMode.Eager).Add(Expression.Le("ParentDate",endDate));
它返回492个父母(应该是481),我执行的操作的总价值是32,847.46€(应该是30,790.87€).所以我必须消除父副本:
var queryParents = session.CreateCriteria<Parent>()
.SetFetchMode("ChildCollectionA", FetchMode.Eager)
.Add(Expression.Le("ParentDate",endDate))
.SetResultTransformer(new DistinctRootEntityResultTransformer());
Run Code Online (Sandbox Code Playgroud)
我只用ChildCollectionB尝试了同样的热切加载
var queryParents = session.CreateCriteria<Parent>()
.SetFetchMode("ChildCollectionB", FetchMode.Eager)
.Add(Expression.Le("ParentDate",endDate))
.SetResultTransformer(new DistinctRootEntityResultTransformer());
Run Code Online (Sandbox Code Playgroud)
在这两种情况下返回481父母OK,价值为30,790.87€OK.
但是我需要同时加载两个集合,我这样做了:
var queryParents = session.CreateCriteria<Parent>()
.SetFetchMode("ChildCollectionA", FetchMode.Eager)
.SetFetchMode("ChildCollectionB", FetchMode.Eager)
.Add(Expression.Le("ParentDate",endDate))
.SetResultTransformer(new DistinctRootEntityResultTransformer());
Run Code Online (Sandbox Code Playgroud)
它返回了481个父母,价值为32,602.57欧元(应该是30,790.87欧元).
现在返回的父项数是正确的,但在其他地方有重复项,值取决于集合而不是父项,因此重复项必须位于ChildCollections中的某个位置.
现在我正在使用一个丑陋的解决方案:
var queryParents = session.CreateCriteria<Parent>()
.SetFetchMode("ChildCollectionA", FetchMode.Eager)
.Add(Expression.Le("ParentDate",endDate))
.SetResultTransformer(new DistinctRootEntityResultTransformer());
parents= queryParents.List<Parent>(); …Run Code Online (Sandbox Code Playgroud) 映射属性是否提供与nhib hbm相同的多功能性?你能和FNH一起使用它们来处理FNH还没有像hbm那样做的东西吗?
干杯,
Berryl
通过映射属性,我不是指hbm文件; NHIB(或者现在可能是NHib贡献者)显然存在属性,用于装饰类和类属性.我猜这些早期的FNH,但不确定.
我正在尝试使用此帖子中找到的类,但它需要一个MethodBase才能运行.
我读了什么是获取MethodBase对象的最快方法?但我无法得到任何解决方案.
我需要做的是从函数中获取MethodBase对象.
例如,为Console类的静态函数WriteLine()获取MethodBase,或者为List <>的非静态函数Add()获取MethodBase.
谢谢你的帮助!
将 .NET 核心从 2.0 升级到 2.1 后,我在运行测试时开始出现以下错误:
程序“[12372] dotnet.exe”已退出,代码为 -1073741819 (0xc0000005)“访问冲突”。
当处于调试模式时,VS 只是退出调试模式并在输出 -> 调试窗口中打印上面的消息。
跨步时发生错误httpClient.SendAsync(...)。
我认为这可能是同一个问题。
通过dotnet test显示运行测试:
活动的测试运行已中止。原因:进程因 StackOverflowException 而终止。
更新
该问题是由错误的 IoC 映射引起的。
在我的开发Web应用程序上,NHibernate正在花哨.当我预编译和部署站点时,我在创建SessionFactory时得到MappingException.
以下是跟踪中的一些信息:
MsSql2008Dialect 0.91570185596214 0.292365 NHibernate.Cfg.Configuration 2010-07-15 09:21:01,390 [7] ERROR NHibernate.Cfg.Configuration [(null)] - 无法编译映射文档:Kctc.BusinessLayer.Mappings.StoredWill.hbm. XML NHibernate.MappingException:无法编译映射文档:Kctc.BusinessLayer.Mappings.StoredWill.hbm.xml ---> System.InvalidOperationException:无法生成临时类(结果= 1).错误CS2001:找不到源文件'C:\ WINDOWS\TEMP\shp2uoc8.0.cs'错误CS2008:未指定输入 无法编译映射文档:Kctc.BusinessLayer.Mappings.StoredWill.hbm.xml ---> System.InvalidOperationException:无法生成临时类(result = 1).错误CS2001:找不到源文件'C:\ WINDOWS\TEMP\shp2uoc8.0.cs'错误CS2008:未指定输入 无法编译映射文档:Kctc.BusinessLayer.Mappings.StoredWill.hbm.xml ---> System.InvalidOperationException:无法生成临时类(result = 1).错误CS2001:找不到源文件'C:\ WINDOWS\TEMP\shp2uoc8.0.cs'错误CS2008:未指定输入
System.Xml.Serialization.Compiler.Compile(Assembly parent,String ns,XmlSerializerCompilerParameters xmlParameters,Evidence evidence)at System.Xml.Serialization.TempAssembly.GenerateAssembly(XmlMapping [] xmlMappings,Type [] types,String defaultNamespace,Evidence evidence, System.Xml.Serialization.XmlSerializer.GenerateTempAssembly的System.Xml.Serialization.TempAssembly..ctor(XmlMapping [] xmlMappings,Type []类型,字符串defaultNamespace,字符串位置,证据证据)中的XmlSerializerCompilerParameters参数,程序集程序集,Hashtable程序集) (XmlMapping xmlMapping,Type type,String defaultNamespace)位于System.Xml.Serialization.XmlSerializer..ctor(Type type)的System.Xml.Serialization.XmlSerializer..ctor(Type type,String defaultNamespace),位于NHibernate.Cfg.XmlHbmBinding.活页夹.在NHibernate.Cfg.XmlHbmBinding.MappingRootBinder.Bind(XmlNode节点)处反序列化[T](XmlNode节点)NHibernate.Cfg.Configuration.AddValidatedDocument(NamedXmlDocument doc)---内部异常堆栈跟踪结束--- 2.20609881982207 1.290397未处理的执行错误无法编译映射文档:位于NHibernate.Cfg.Configuration的NHibernate.Cfg.Configuration.AddValidatedDocument(NamedXmlDocument doc)中的NHibernate.Cfg.Configuration.LogAndThrow(异常异常)中的Kctc.BusinessLayer.Mappings.StoredWill.hbm.xml.位于NHibernate.Cfg.Configuration.AddXmlReader(XmlReader hbmReader,String name)的NHibernate.Cfg.Configuration.AddDocumentThroughQueue(NamedXmlDocument文档)中的ProcessMappingsQueue()位于NHibernate.Cfg.Configuration.AddInputStream(Stream xmlInputStream,字符串名称)NHibernate.Cfg.Configuration.AddResource(字符串路径,汇编程序集)位于C:\ Kctc\Trunk\Kctc中的Kctc.BusinessLayer.NHibernateSessionFactory.get_SessionFactory()的NHibernate.Cfg.Configuration.AddAssembly(程序集程序集). BusinessLayer\NHibernateSessionFactory.cs:第26行
在C:\ Kctc\Trunk\Kctc.BusinessLayer\NHibernateSessionFactory.cs中的Kctc.BusinessLayer.NHibernateSessionFactory.OpenSession():
位于System.Web.UI.WebControls.Button的Developers_Test.ListSquirps(Object sender,EventArgs e)的第39行. System.Web上System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)中的System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)上的OnClick(EventArgs e). System.Web.UI.Page.ProcessRequestMain的System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
中的UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl,String eventArgument)(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)2.20665643259129 …
我想确保我的Web应用程序性能明智,不会出现任何性能问题.当我搜索时,我发现与性能问题相关的最常见问题之一是"无限循环"问题.
我想问一下:
我应该在哪里开始检查我的代码是否永远不会导致无限循环?
有没有文章,建议,说明,例子?我会很感激.
例如:
愿这段代码导致无限循环吗?
public static IEnumerable<SubjectNode> ReadSubjectNodes(string filePath)
{
using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read))
using (XmlReader xrdr = new XmlTextReader(fs))
while (xrdr.Read())
if (xrdr.NodeType == XmlNodeType.Element && xrdr.LocalName == "subject")
yield return new SubjectNode(xrdr.GetAttribute("id"), xrdr.GetAttribute("name"), xrdr.GetAttribute("short"));
}
Run Code Online (Sandbox Code Playgroud)
提前致谢
在我的项目中,我打开一个文件,其中包含一些可执行文件的相对路径.我试图在F#Interractive窗口中测试我的代码,但它似乎是从一个完全不同的路径运行.如何更改路径/使其从与项目相同的路径运行?
c# ×4
nhibernate ×3
.net ×1
.net-core ×1
asp.net ×1
awt ×1
deployment ×1
exception ×1
f# ×1
grid-layout ×1
java ×1
linq ×1
methodbase ×1
performance ×1
reflection ×1
swing ×1
t-sql ×1