我有代码,使用System.Net和System.Net.NetworkInformation引用,它生成我的网络连接名称列表.
一切似乎都很好并且工作正常,但是当我创建一个这样的代码,并将值导出到listbox1项目添加时,我只有一个网络连接名称,但实际上我有四个.
我怎么解决这个问题?
private void button1_Click(object sender, EventArgs e)
{
Adapters obj = new Adapters();
var value = obj.net_adapters();
listBox1.Items.Add(value);
}
public class Adapters
{
public string net_adapters()
{
string value = string.Empty;
foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces())
{
value = nic.Name;
}
return value;
}
}
Run Code Online (Sandbox Code Playgroud) 我正在使用带有Code First的Entity Framework 5。我编写了一个自定义变量IDbConnectionFactory,希望用于类的所有连接DbContext,因此在应用程序生命周期的早期,在完成任何数据库工作之前,我会调用
Database.DefaultConnectionFactory = new MyConnectionFactory();
Run Code Online (Sandbox Code Playgroud)
但是,MyConnectionFactory.CreateConnection从未被调用过,这向我暗示了EF将其改回了-但是调试器显示MyConnectionFactory在运行了几个查询之后它仍然是a 。由于某种原因,它只是没有使用它。
我DbContext是通过从app.config文件中传递连接字符串的名称来初始化的,而这些连接字符串确实指定了显式提供程序(确实必须如此),所以我想知道这是否导致连接的每次连接覆盖基于连接字符串的工厂。是否会发生这种情况,我是否可以在不注册一个全新的提供程序的情况下停止它(尽管也许这样做并不难吗?)。
我在网上看到的所有内容(在各种app.config示例中都被defaultConnectionFactory标记所遮盖)建议您可以将其更改IDbConnectionFactory为您选择的实例,并且可以正常工作,但我的行为却不行。
这样做的目的是允许我在打开新连接时运行一组特定的SQL语句,因此该问题的第二部分将是有人知道更好的方法吗?
我的代码如下:
calcstep ::Integral a => a -> a
calcstep n = calcstep2 n 0
calcstep2 :: Integral (Integral a, Integral b) => a -> b -> a
calcstep2 1 k = k
calcstep2 n k | odd n = calcstep2 (n/2) (k+1)
| otherwise = calcstep2 (n*3+1) (k+1)
Run Code Online (Sandbox Code Playgroud)
错误如下:
非类型变量参数
在约束中:积分(积分a,积分b)
(使用-XFlexibleContexts来允许这个)
在`calcstep2'的类型签名中:calcstep2 :: Integral(Integral a,Integral b)=> a - > b - > a
失败,模块加载:无.
这是什么意思?我该怎么解决?
继承树在c#中有多深?比方说,我有一个类A,我做一个新的类B,从派生A.比我创建一个名为C派生的新类B,依此类推.
我可以用这种方式创建多少个类A?
继承树有限制吗?
public class A
{
...
...
}
public class B:A
{
...
...
}
public class C:B
{
...
...
}
public class D:C
{
...
...
}
Run Code Online (Sandbox Code Playgroud) 我可以在Haskell中编译以下函数并且它可以工作
addVector :: (Num a) => (a, a) -> (a, a) -> (a, a)
addVector (a, b) (c, d) = (a + c, b + d)
Run Code Online (Sandbox Code Playgroud)
但我得到以下功能的编译错误
addVector3 :: (Float a) => (a, a) -> (a, a) -> (a, a)
addVector3 (a, b) (c, d) = (a + c, d + b)
Run Code Online (Sandbox Code Playgroud)
两个函数之间的唯一区别是类型(更改Num为Float)
错误:
`Float' is applied to too many type arguments
In the type signature for `addVector3':
addVector3 :: Float a => (a, a) -> …Run Code Online (Sandbox Code Playgroud)