小编Răz*_*nda的帖子

如何在GridLayout中获取元素的X和Y索引?

我正在研究一个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)

java swing awt grid-layout

15
推荐指数
3
解决办法
4万
查看次数

与Visual Studio界面中的断点位于同一列中的浅蓝色矩形的用途是什么?

我不小心在Visual Studio 2010中按了一些键,最后得到了一个我从未见过的图标,通常放在断点所在的位置:

任何人都可以告诉我它的作用以及如何将其删除?

c# user-interface visual-studio-2010

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

是否可以使用T-SQL条件TOP子句?

我想动态使用TOP或者不是这样的......

SELECT @SomeNumber CASE WHERE 0 THEN TOP 5 COLUMNNAME
                        ELSE COLUMNNAME
                   END
FROM TABLE
Run Code Online (Sandbox Code Playgroud)

t-sql

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

Nhibernate:急切加载两个子集合(一个是组件列表)

我有一个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)

nhibernate

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

NHibernate映射属性与流畅的NHibernate

映射属性是否提供与nhib hbm相同的多功能性?你能和FNH一起使用它们来处理FNH还没有像hbm那样做的东西吗?

干杯,
Berryl

通过映射属性,我不是指hbm文件; NHIB(或者现在可能是NHib贡献者)显然存在属性,用于装饰类和类属性.我猜这些早期的FNH,但不确定.

nhibernate nhibernate-mapping fluent-nhibernate

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

如何获取方法的MethodBase对象?

我正在尝试使用此帖子中找到的类,但它需要一个MethodBase才能运行.

我读了什么是获取MethodBase对象的最快方法?但我无法得到任何解决方案.

我需要做的是从函数中获取MethodBase对象.

例如,为Console类的静态函数WriteLine()获取MethodBase,或者为List <>的非静态函数Add()获取MethodBase.

谢谢你的帮助!

.net c# reflection methodbase

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

dotnet.exe 已退出 - 访问冲突

将 .NET 核心从 2.0 升级到 2.1 后,我在运行测试时开始出现以下错误:

程序“[12372] dotnet.exe”已退出,代码为 -1073741819 (0xc0000005)“访问冲突”。

当处于调试模式时,VS 只是退出调试模式并在输出 -> 调试窗口中打印上面的消息。

跨步时发生错误httpClient.SendAsync(...)

我认为可能是同一个问题。

通过dotnet test显示运行测试:

活动的测试运行已中止。原因:进程因 StackOverflowException 而终止。

更新

该问题是由错误的 IoC 映射引起的。

c# .net-core asp.net-core-2.1

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

NHibernate MappingException:无法编译映射文档

在我的开发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 …

deployment nhibernate exception nhibernate-mapping

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

如何检测和避免无限循环?

我想确保我的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)

提前致谢

c# linq asp.net performance infinite-loop

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

如何让F#Interactive窗口使用与项目相同的路径?

在我的项目中,我打开一个文件,其中包含一些可执行文件的相对路径.我试图在F#Interractive窗口中测试我的代码,但它似乎是从一个完全不同的路径运行.如何更改路径/使其从与项目相同的路径运行?

f# f#-interactive

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