我知道私人领域是第一位的.根据C#代码风格应该在哪里放置其他成员?
我的意思是:private/protected/internal/public fields/properties/methods/events.我总是在课堂的最后部分安排活动.我有时会在使用它的公共财产附近放置私人方法.我不认为这是正确的位置,但我不能选择它和许多其他成员的地方.
你好,
例如,如果我有:
public class Fu
{
int _bar;
public Fu(){
_bar = 12;
}
public void Square(){
_bar *= _bar;
}
}
Run Code Online (Sandbox Code Playgroud)
(顺便说一下,这只是一个例子,我知道这是做我正在做的事情的最糟糕的方式.)
无论如何我可以去:
Fu _fu = new Fu();
_fu.Square();
Console.WriteLine(_fu);
Run Code Online (Sandbox Code Playgroud)
和_fu返回144而不是类Fu?或者这只是一个荒谬的问题?
此致,哈罗德
编辑:这 Console.WriteLine(_fu);是一个糟糕的例子.如果我想做什么int twelveCubed = 12 * _fu?
我在依赖注入(Spring autowiring)和maven-surefire方面遇到了一些问题.使用TestNG在eclipse中运行时,以下测试没有问题:注入service-object,然后@BeforeClass调用-method.
@TransactionConfiguration(defaultRollback=false)
@ContextConfiguration(locations={"/testContext.xml"})
public class MyServiceTest extends AbstractTransactionalTestNGSpringContextTests {
@Autowired
private MyService service;
@BeforeTest
public void setup() {
System.out.println("*********************"+service);
Assert.assertNotNull(service);
}
Run Code Online (Sandbox Code Playgroud)
但是,当我使用maven-surefire运行相同的测试用例时,首先调用setup(),这会导致测试失败:
[INFO] --- maven-surefire-plugin:2.7.2:test (default-test) @ myserver ---
[INFO] Surefire report directory: D:\...
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running TestSuite
**************************null
2011-03-04 11:08:57,462 DEBUG ionTestExecutionListener.prepareTestInstance - Performing dependency injection for test context [[TestContext@1fd6bea...
2011-03-04 11:08:57,462 DEBUG ractGenericContextLoader.loadContext - Loading ApplicationContext for locations [classpath:/testContext.xml].
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题?如果我更换@BeforeClass与@Test它在行家的作品作为TestNG的Eclipse插件.
Maven的万无一失,插件:2.7.2
Eclipse:Helios Service Release 1
jdk1.6.0_14 …
为什么find . -name "*.xml" | xargs grep FOO返回与文件名匹配,而find . -name "*.xml" | xargs -i -sh -c "grep FOO {}"不是?
String s = new String("abcd");
Run Code Online (Sandbox Code Playgroud) 什么IplImage在OpenCV?你能解释一下它的含义吗?我们什么时候应该使用它?
谢谢.
为什么以下SQL不能获取任何东西
DECLARE @Status AS VARCHAR(400)
SET @status = '''Closed'',''OPEN'''
select * from MYTABLE where status in(@status)
Run Code Online (Sandbox Code Playgroud)
虽然
select * from MYTABLE where status in('Closed','Open')取而代之的是行
注意:我使用的是我在使用libxml-ruby gem时遇到的段错误来说明问题,但我已经修复了我的问题.这个问题的真正意义在于从gdb和核心文件中查看Ruby回溯(即解释器在Ruby代码无法处理异常时打印的内容),解释器本身遇到分段错误.
在生成XML文档的过程中,我遇到了一个奇怪的段错误:
/railsroot/vendor/isolated/ruby-1.8/gems/libxml-ruby-1.1.2/lib/libxml/node.rb:123: [BUG] Segmentation fault
ruby 1.8.7 (2011-02-18 patchlevel 334) [x86_64-linux], MBARI 0x6770, Ruby Enterprise Edition 2011.03
Aborted
Run Code Online (Sandbox Code Playgroud)
更新1:这也是在vanilla Ruby(MRI)下的段错误.
我已经打开了corefiles并查看了gdb中的backtrace(参见问题的结尾).我可以看到解释器崩溃的地方,谷歌搜索导致了许多有希望的结果.除了解释器回溯之外,我想看到的是Ruby代码本身的回溯(即从解释器的角度来看的回溯).
我希望在gdb中加载核心将允许我调用一些解释器函数来打印出解释代码的堆栈.
有任何想法吗?
对于好奇的人来说,这是核心和回溯:
: foo@bar; ulimit -c unlimited
: foo@bar; RAILS_ENV=production ./script/runner script/feeds/batchfeed.rb --config config/feeds/$feed.yml --timer /tmp/$feed.timer --gzip --output /tmp/$feed.xml.gz
/railsroot/vendor/isolated/ruby-1.8/gems/libxml-ruby-1.1.2/lib/libxml/node.rb:123: [BUG] Segmentation fault
ruby 1.8.7 (2011-02-18 patchlevel 334) [x86_64-linux], MBARI 0x6770, Ruby Enterprise Edition 2011.03
Aborted
: foo@bar; ls -l core
-rw------- 1 rails rails 145301504 2011-03-04 08:34 core
: …Run Code Online (Sandbox Code Playgroud) 我试图Validator在Spring 3.0.x下编写自己的(根据JSR-303规范).
我用isValid(Serializable, CosntraintValidatorContext)方法注释了方法@Transactional,但似乎事务建议没有应用于此方法 - 当isValid()调用方法时,调用sessionFactory.getCurrentSession()创建异常:
org.hibernate.HibernateException:没有Hibernate会话绑定到线程,配置不允许在这里创建非事务性的
我有一个@Autowired sessionFactory在Validator没有问题的情况下注入的同一个bean.我目前的解决方法是使用openSession()而不是getCurrentSession(),但这涉及手动事务管理,我宁愿避免.
在我的验证器bean的构造函数中执行堆栈跟踪,似乎我的Validatorbean是通过调用来构造的o.s.b.f.s.AbstractAutowireCapableBeanFactory.createBean().我认为这意味着工厂能够填充@Autowired我的字段Validator,但似乎它没有应用任何交易建议?
提前感谢您对此事的任何帮助.
编辑:如果有任何帮助,我已经包含了一个create new Exception()在构造函数中记录的部分stacktrace(via ):
at com.mydomain.validators.UniqueValidator.<init>(UniqueValidator.java:49) ~[UniqueValidator.class:na]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [na:1.6.0_20]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) [na:1.6.0_20]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) [na:1.6.0_20]
at java.lang.reflect.Constructor.newInstance(Constructor.java:513) [na:1.6.0_20]
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:126) [spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:74) [spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:958) [spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:911) [spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485) [spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) [spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:286) [spring-beans-3.0.5.RELEASE.jar:3.0.5.RELEASE] …Run Code Online (Sandbox Code Playgroud)