我的项目中有一个派生类的泛型类.
public class GenericClass<T> : GenericInterface<T>
{
}
public class Test : GenericClass<SomeType>
{
}
Run Code Online (Sandbox Code Playgroud)
有没有办法找出一个Type
对象是否来自GenericClass
?
t.IsSubclassOf(typeof(GenericClass<>))
Run Code Online (Sandbox Code Playgroud)
不起作用.
我有一个python脚本正在创建一个ODBC连接.使用连接字符串生成ODBC连接.在此连接字符串中,我必须包含此连接的用户名和密码.
是否有一种简单的方法可以隐藏文件中的密码(只是在我编辑文件时没有人能读取密码)?
可能重复:
不能将运算符==应用于C#中的泛型类型?
我编写了这样的代码:
public bool IsDataChanged()
{
T value1 = GetValue2;
T value2 = GetValue1();
return (valueInDB != valueFromView);
}
Run Code Online (Sandbox Code Playgroud)
现在该函数没有编译错误" 运算符'!='不能应用于'T'和'T'类型的操作数 ".我该怎么做才能使这个功能起作用?
我有一个在c#/ asp.net中编写的Web服务.
[WebService(Namespace = "http://example.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
[System.ComponentModel.ToolboxItem(false)]
public class Service: System.Web.Services.WebService
{
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public Result GetData()
{
User user = GetUser();
if (user.LoggedIn)
{
return GetData();
}
else
{
// raise exception -> return error 403
}
}
Run Code Online (Sandbox Code Playgroud)
如何从此Web服务返回错误403?我可以抛出异常 - 但这显示了异常,而不是他的错误.
有任何想法吗?
看看NHibernate中创建/更新列的所有可能性我主要(Stackoverflow问题,Ayende Rahien)看到了Listeners的解决方案.
在我公司编程的程序员使用Interceptor来实现同样的目的.
这两种解决方案有什么区别吗?(其中一个已经过时,是其中一个首选,有哪些优点和/或缺点)
我们希望在我们的c ++程序中有用户定义的公式.例如,值v = x +(y - (z - 2))/ 2.在程序的后面,用户将定义x,y和z - >程序应该返回计算结果.
有些以后公式可能会改变,所以下次程序应该解析公式并添加新值.
任何想法/提示如何做这样的事情?
到目前为止,我刚刚找到解决方案来编写一个解析器来计算这些公式 - 也许是关于它的任何想法?
我做了一些单元测试(在测试课上).我读过的教程说我应该为单元测试做一个TestSuite.
奇怪的是,当我直接运行单元测试时(选择测试类 - 运行为jUnit测试)一切正常,但是当我在测试套件中尝试同样的事情时,总会有一个异常:java.lang.例外:没有可运行的方法.
以下是测试套件的代码:
import junit.framework.Test;
import junit.framework.TestSuite;
public class AllTests {
public static Test suite() {
TestSuite suite = new TestSuite("Test suite for com.xxx.yyyy.test");
//$JUnit-BEGIN$
suite.addTestSuite(TestCase.class);
//$JUnit-END$
return suite;
}
}
Run Code Online (Sandbox Code Playgroud)
任何想法为什么这不起作用?
我正在从Windows 10中的共享文件夹运行一些自编写的Winforms .net 3.5应用程序.
一切正常,但在最后一次大更新(1803)后,应用程序不再启动.
似乎程序在尝试打开套接字时崩溃了.第一个问题是访问数据库时遇到以下异常:
2018-05-03 14:36:32,314 [1] ERROR NHibernate.Transaction.AdoTransaction [(null)] - Begin transaction failed
MySql.Data.MySqlClient.MySqlException: Unable to connect to any of the specified MySQL hosts. ---> System.Net.Sockets.SocketException: invalid argument
at System.Net.Sockets.Socket..ctor(AddressFamily addressFamily, SocketType socketType, ProtocolType protocolType)
at MySql.Data.Common.MyNetworkStream.CreateSocketStream(MySqlConnectionStringBuilder settings, IPAddress ip, Boolean unix)
at MySql.Data.Common.MyNetworkStream.CreateStream(MySqlConnectionStringBuilder settings, Boolean unix)
at MySql.Data.Common.StreamCreator.GetStream(MySqlConnectionStringBuilder settings)
at MySql.Data.MySqlClient.NativeDriver.Open()
Run Code Online (Sandbox Code Playgroud)
我试图解决这个问题,但是当从网络共享启动程序时,甚至访问SSH服务器也不起作用:
2018-05-03 14:30:30,654 [1] ERROR WinForms.SpringApplication [(null)] - Main Handler
Tamir.SharpSsh.jsch.JSchException: System.Net.Sockets.SocketException: invalid argument
at System.Net.Sockets.Socket..ctor(AddressFamily addressFamily, SocketType socketType, ProtocolType protocolType)
at Tamir.SharpSsh.java.net.Socket..ctor(String host, Int32 …
Run Code Online (Sandbox Code Playgroud) 我正在使用winforms构建表单 - 并且应该添加视图和可编辑的时间跨度值.哪种控制最适合这个?
正常的编辑控件正确显示了值 - >但它对于更改值并不是很好
正常日期时间选择器不起作用
屏蔽的编辑控件没有任何标准掩码
有人对控制这项任务有好主意吗?
我使用System.Diagnostics.Process在我的C#应用程序中生成新进程,如下所示:
void SpawnNewProcess
{
string fileName = GetFileName();
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = fileName;
proc.Start();
proc.Exited += new EventHandler(ProcessExited);
proc.EnableRaisingEvents = true;
}
private void ProcessExited(Object source, EventArgs e)
{
}
Run Code Online (Sandbox Code Playgroud)
用户可以随心所欲地生成尽可能多的进程 - 现在的问题是:我在ProcessExited函数中,如何找出已退出的进程?
MSDN中的示例仅显示如何使用成员变量 - 但这不适用于更多进程.
任何想法我如何找出刚刚退出的流程?
在我的应用程序(C#,Windows窗体)中,我有一个电话信息屏幕:如果有来电,则显示一个窗口,其中包含给呼叫者的附加信息.
此窗口应在前台打开,即使用户正在另一个窗口中写入,也应该保持在那里(因此用户仍然可以看到有关来电的信息).
首先我使用了BringToFront - 但这并不是在所有情况下都能正常工作(例如,当主应用程序不在前台时).
现在我正在使用BringToFront和user32.dll函数BringWindowToTop - >,但是如果窗口失去焦点,它就在后台.
我该如何实现这种行为?
在Bitzalk 2010中,我应该从输入映射到具有以下结构的XML:
<REQUEST>
<PROGRAM name="PROGRAM123">
<INPUT>
<INSTRUCT name="INSTR1">
<FIELD name="FIELD11">VALUE1</FIELD>
<FIELD name="FIELD12">VALUE2</FIELD>
<FIELD name="FIELD13">VALUE3</FIELD>
</INSTRUCT>
<INSTRUCT name="INSTR2">
<FIELD name="FIELD21">VALUE4</FIELD>
<FIELD name="FIELD22">VALUE5</FIELD>
<FIELD name="FIELD23">VALUE6</FIELD>
<FIELD name="FIELD24">VALUE7</FIELD>
</INSTRUCT>
<INSTRUCT name="INSTR2">
<FIELD name="FIELD21">VALUE8</FIELD>
<FIELD name="FIELD22">VALUE9</FIELD>
<FIELD name="FIELD23">VALUE10</FIELD>
<FIELD name="FIELD24">VALUE11</FIELD>
</INSTRUCT>
</INPUT>
</PROGRAM>
</REQUEST>
Run Code Online (Sandbox Code Playgroud)
生成的XSD是这样的:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="REQUEST" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="REQUEST" msdata:IsDataSet="true" msdata:Locale="en-US">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="PROGRAM">
<xs:complexType>
<xs:sequence>
<xs:element name="INPUT" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="INSTRUCT" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="FIELD" nillable="true" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent …
Run Code Online (Sandbox Code Playgroud) c# ×6
.net ×2
generics ×2
winforms ×2
asp.net ×1
biztalk ×1
biztalk-2010 ×1
c++ ×1
dialog ×1
foreground ×1
interceptor ×1
java ×1
junit ×1
listener ×1
mapping ×1
mysql ×1
nhibernate ×1
process ×1
python ×1
reflection ×1
security ×1
sockets ×1
ssh ×1
timespan ×1
unit-testing ×1
web-services ×1
windows ×1
windows-10 ×1
xsd ×1