假设Java有这些分层类:
class A
{
}
class B extends A
{
public void m()
{
System.out.println("B\n");
}
}
class C extends B
{
public void m()
{
System.out.println("C\n");
}
}
class D extends C
{
public static void main(String[] args)
{
A a = new D();
// a.m(); // doesn't work
B b = new D();
b.m();
C c = new D();
c.m();
D d = new D();
d.m();
}
}
Run Code Online (Sandbox Code Playgroud)
这是C#中相同代码的(盲目)重复:
using System;
class A
{
}
class B : …Run Code Online (Sandbox Code Playgroud) 我试图在运行时定义一个继承自已知类并实现接口的类型.
public class ParentClass
{
}
public interface IImplementMe
{
double Value{get;set}
}
Run Code Online (Sandbox Code Playgroud)
以下是显示我如何实现目标的代码段.
public class ClassBuilder
{
public Type Build()
{
try
{
AssemblyName assemblyName = new AssemblyName("DataBuilderAssembly");
AssemblyBuilder assemBuilder = Thread.GetDomain().DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.Run);
ModuleBuilder moduleBuilder = assemBuilder.DefineDynamicModule("DataBuilderModule");
TypeBuilder typeBuilder = moduleBuilder.DefineType("NewClass", TypeAttributes.Class, typeof(ParentClass));
typeBuilder.AddInterfaceImplementation(typeof(IImplementMe));
BuildProperty(typeBuilder, "Value", typeof(double));
Type type = typeBuilder.CreateType();
return type;
}
catch (Exception e)
{
return null;
}
}
private void BuildProperty(TypeBuilder typeBuilder, string name, Type type)
{
FieldBuilder field = typeBuilder.DefineField("m" + name, type, FieldAttributes.Private); …Run Code Online (Sandbox Code Playgroud) 我的数据库是Oracle,我的id列值是一个Oracle序列,这个序列由一个触发器执行,因此,在插入每一行之前,这个触发器使用这个序列来获取id值.所以我很困惑我应该在我的实体类中定义哪个id策略生成.
@GenericGenerator(name = "generator", strategy = "increment")
@Id
@GeneratedValue(generator = "generator")
Run Code Online (Sandbox Code Playgroud)
要么
@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator = "idGenerator")
@SequenceGenerator(name="idGenerator", sequenceName="ID_SEQ")
Run Code Online (Sandbox Code Playgroud)
要么
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
Run Code Online (Sandbox Code Playgroud)
真的很困惑,有人会对这个问题有所了解吗?请清楚解释..
当我需要来自ns表单的库时,我得到:
test> (ns test (:require '(clojure.contrib [logging :as log] [sql :as sql]) ))
lib names inside prefix lists must not contain periods
[Thrown class java.lang.Exception]
Run Code Online (Sandbox Code Playgroud)
当我使用require函数时,它按预期工作.
test> (require '(clojure.contrib [logging :as log] [sql :as sql]) )
nil
Run Code Online (Sandbox Code Playgroud)
ns的文档是指require函数的文档,但由于它们的行为不同,这有点令人困惑.
我正在尝试修复一个网站.
它会在新窗口/选项卡中打开帮助页面<a href="..." target="help">(没有其他框架具有此名称)
这在第一次打开新窗口/选项卡时很有效,可以获得帮助.但在随后的点击中,窗口/选项卡已加载但仍保持隐藏状态.
我试过这个:
<script>
function OpenAndFocusHelp() {
win=window.open('help/1000CH00017.htm','help');
win.focus();
}
</script>
<a href="help.html" target="help"
onclick="OpenAndFocusHelp()">Help</a>
Run Code Online (Sandbox Code Playgroud)
那没起效!
我正在尝试创建一个在Visual Studio 2010中使用"Windows Phone空云应用程序"模板(Windows Azure工具)的新项目.在创建新项目时,它会打开一个带有指令/自述文件的小窗口,其中显示:
在解决方案资源管理器中,右键单击Windows Azure项目,指向"调试",然后单击"启动新实例".等待Web角色启动并单击"继续浏览此网站(不推荐)"链接,以便能够浏览站点,尽管存在证书警告.
当我这样做时,我得到一个"对象引用没有设置为对象的实例"我还没有开始编码....模板是刚刚破坏或??
有任何想法吗?
如果您编译以下代码:
private async Task<int> M()
{
return await Task.FromResult(0);
}
Run Code Online (Sandbox Code Playgroud)
然后反编译它(我使用dotPeek)并检查所有重要的MoveNext方法,你会看到一个bool在开头附近声明的变量; dotPeek为我选择了"旗帜".
bool flag = true;
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您将在启动第一个异步调用后的默认case语句中看到该变量的后续使用者:
if (!awaiter.IsCompleted)
{
this.\u003C\u003E1__state = 0;
this.\u003C\u003Eu__\u0024awaiter11 = awaiter;
this.\u003C\u003Et__builder.AwaitUnsafeOnCompleted<TaskAwaiter<int>, Program.\u003CP\u003Ed__10>(ref awaiter, ref this);
flag = false;
return;
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试了六个比我最初的例子更复杂的例子,并且它们在退出方法之前只分配给这个变量是一致的.所以换句话说,在我迄今为止尝试过的所有情况中,这个变量不仅从不消耗,而且只是在从方法返回之前立即给出一个非初始值 - 这是一个定义分配的时间点无用.
作为背景,我很享受尝试通过C# - > JS交叉编译器在Javascript中实现async/await的过程.我试图了解在什么情况下我需要考虑这个标志的效用.面对面,它似乎是虚假的,因此我应该忽略它.但是,我想了解为什么C#编译器引入了这个变量 - 我怀疑有更复杂的表达式以有用的方式使用这个变量.
简单来说:为什么C#编译器会生成这个flag变量?
我的方案是:我的jira工作流程中的一步应该具有取消计划任务的能力,即将修复版本设置为"无".
我注意到我无法在工作流后期功能中更新修复版本 - 我不确切知道为什么,但无论如何我确实实现了一个jira插件来帮助我解决我的问题,但我知道我反对jira结构(甚至java良好的编码实践:)).我不确定我的实现是否会导致问题,但实际上它在我的jira实例4.1.x中工作.
我如何实现一个插件来更新post函数中的修复版本,2个非常相似的方式:
public class BrandsclubPostFunctionUnschedule extends AbstractJiraFunctionProvider {
// Here I create an empty Collection to be the new value of FixVersion (empty because I need no version in Fix Version)
public void execute(Map transientVars, Map args, PropertySet ps) throws WorkflowException {
MutableIssue issue = this.getIssue(transientVars);
Collection<Version> newFixVersion = new ArrayList<Version>();
issue.setFixVersions(newFixVersion);
issue.store();
}
}
public class BrandsclubPostFunctionUnschedule extends AbstractJiraFunctionProvider {
// here I clear the Collection I got from "old" Fix Version …Run Code Online (Sandbox Code Playgroud) 如果我有一张桌子,TableA:
Id
1
2
3
...
Run Code Online (Sandbox Code Playgroud)
还有另外两张桌子:
表B:
Id, TableAId
1 1
2 1
Run Code Online (Sandbox Code Playgroud)
表C:
Id, TableAId
1, 1
2, 2
Run Code Online (Sandbox Code Playgroud)
TableAId与TableA.Id的FK关系.
如何确定TableA,Id 1有三行指向它?那个TableA,Id 2有一行指向它吗?更具体地说,我如何识别这些行是什么?(他们的表名和Id)
我正在使用在泛型类中包含以下重载方法的代码:
public class A<T>
{
public void Process(T item) { /*impl*/ }
public void Process(string item) { /*impl*/ }
}
Run Code Online (Sandbox Code Playgroud)
当参数化类时,string我是否失去了使用泛型参数调用版本的可能性?
var a = new A<string>();
a.Process(""); //Always calls the non-generic Process(string)
Run Code Online (Sandbox Code Playgroud) c# ×5
java ×3
async-await ×1
azure ×1
clojure ×1
definition ×1
generics ×1
hibernate ×1
hierarchy ×1
html ×1
inheritance ×1
javascript ×1
jira ×1
jpa ×1
oracle ×1
orm ×1
overloading ×1
plugins ×1
reflection ×1
runtime ×1
sql-server ×1
types ×1