我的问题是这样的:如果我有MethodInfo对象,对于一个方法,从一个接口类型得到的,我也有一个实现此接口的类的类型的对象,但它有一个明确的实施实现了该方法,如何为该类中的实现方法正确获取相应的MethodInfo对象?
我需要这样做的原因是实现方法可以有一些属性应用于它们,我需要通过反射找到它们,但是需要找到这些属性的类只有实现类的对象引用,以及类型对象(+对应的MethodInfo对象)用于接口.
所以,我们假设我有以下程序:
using System;
using System.Reflection;
namespace ConsoleApplication8
{
public interface ITest
{
void Test();
}
public class Test : ITest
{
void ITest.Test()
{
throw new NotImplementedException();
}
}
class Program
{
static void Main(string[] args)
{
Type interfaceType = typeof(ITest);
Type classType = typeof(Test);
MethodInfo testMethodViaInterface =
interfaceType.GetMethods()[0];
MethodInfo implementingMethod =
classType.GetMethod(/* ??? */"Test");
Console.Out.WriteLine("interface: " +
testMethodViaInterface.Name);
if (implementingMethod != null)
Console.Out.WriteLine("class: " +
implementingMethod.Name);
else
Console.Out.WriteLine("class: unable to locate");
Console.Out.Write("Press enter to exit...");
Console.In.ReadLine();
} …Run Code Online (Sandbox Code Playgroud) 我在ProductDfn类中有这样的hibernate映射
@ManyToOne( fetch = FetchType.LAZY, optional = true )
@JoinColumn( name = "productTypeFk", nullable = true )
public ProductType getProductType()
{
return productType;
}
Run Code Online (Sandbox Code Playgroud)
请注意,该关系被定义为可选(并且该列可以为空).
做HQL的时候是这样的
select p.name as col1, p.productType.name as col2 from ProductDfn p
Run Code Online (Sandbox Code Playgroud)
内部联接用于将ProductDfn连接到ProductType,因为hibernate从select子句中的隐式连接生成显式SQL连接.
但是,当执行上述操作时,如果productType为null(在DB中),则由于内部联接而不返回任何行.对于这种关系,我希望hibernate默认为执行外连接(因为关系是可选的)所以我会得到col2的"null",而不是没有行.
有谁知道这是否可能?
谢谢.
希望简单的问题.
我们有一个超过3000行的样式表,因此在页面渲染时会出现明显的延迟.
这里有一个问题:是否更好的是有一个覆盖所有内容的大型样式表,或者覆盖页面不同部分的大量小样式表?(例如一个用于布局,一个用于下拉菜单,一个用于颜色等?)
这只是为了表现,而不是'更容易'
我很好奇O(n log n)是链表最好的.
我在视图上有一个uilabel和一个uislider.我想用slider.range of slider设置标签的时间是00:00:00到03:00:00.意味着3个小时.并且滑块上的干涉是0.5分钟.也是如何显示.即使应用程序关闭,我也希望计时器运行.
我想编写一个SQL Server 2005存储过程,它将从用户表中选择并返回用户记录,这些用户记录将作为参数传递给存储过程.
这该怎么做 ?
我可以将用户ID作为以逗号分隔的字符串传递.这样我就可以使用了
select *
from users
where userid in (userids)
Run Code Online (Sandbox Code Playgroud)
例如:我想为id的5,6,7,8,9选择记录
如何编写存储过程?
如何检查文本框中的字符串是否为普通字符串?
我正在逐行搜索文本文件.
无论是通过.Contains(Textbox.Text);还是通过Regex(Textbox.Text) Match(currentLine)
(我知道,语法不是这样的,它只是用于演示)
现在我的程序应该是自动检测,如果Textbox.Text是RegEx的形式,或者它是一个普通的字符串.
有什么建议?写我自己的小RexEx来检测Textbox是否包含RegEx?
编辑:
我没有添加thad我的字符串可以非常简单,就像Foo ore 0005我正在尝试建议的解决方案!
例:
<select>
<option value='1'>hello me<option>
<option value='2'>hello world</option>
</select>
Run Code Online (Sandbox Code Playgroud)
如何从选择框访问TEXT而不是VALUE
所以我可以显示HELLO ME或HELLO WORLD而不是1和2.
我似乎对他们没有任何问题.
我有一个更新面板,里面有一些复选框.我检查它们,点击我的保存按钮,但它会导致更新面板回发(刷新)并将它们全部设置为空白.重绘方法在按钮代码之前运行.
使用带有可以操作的复选框的updatepanel的正确方法是什么?
编辑:我认为问题可能是一个基本的设计问题.我真的需要一个关于如何正确使用updatepanel的完整教程.
x = 1;
std::cout << ((++x)+(++x)+(++x));
Run Code Online (Sandbox Code Playgroud)
我希望输出是11,但实际上12.为什么?
.net ×2
c# ×2
ajax ×1
algorithm ×1
asp.net ×1
c++ ×1
css ×1
hibernate ×1
html ×1
interface ×1
join ×1
jquery ×1
linked-list ×1
methodinfo ×1
nstimer ×1
nullable ×1
objective-c ×1
option ×1
outer-join ×1
reflection ×1
regex ×1
sorting ×1
sql ×1
sql-server ×1
text ×1
updatepanel ×1