问题列表 - 第1731页

为什么C#不提供C++风格的"朋友"关键字?

C++朋友关键字允许class A指定class B作为其朋友.这允许Class B访问private/的protected成员class A.

我从来没有读过任何关于为什么这个被排除在C#(和VB.NET)之外的东西.早期StackOverflow问题的大多数答案似乎都说它是C++的一个有用部分,并且有充分的理由使用它.根据我的经验,我必须同意.

在我看来,另一个问题是如何friend在C#应用程序中执行类似的操作.虽然答案通常围绕嵌套类,但它看起来并不像使用friend关键字那么优雅.

最初的设计模式书在其示例中定期使用它.

总而言之,为什么friend缺少C#,以及在C#中模拟它的"最佳实践"方式(或方法)是什么?

(顺便说一句,该internal关键字一样的东西,它可以让所有的整个组件来访问内部的阶级internal的成员,同时friend允许你给某一类的完全访问权限,以正好一个其他类)

c# c++ oop design-patterns friend

205
推荐指数
10
解决办法
6万
查看次数

如何命名变量

  • 您使用什么规则来命名变量?
  • 单字母变量允许哪些地方?
  • 你在名字中放了多少信息?
  • 例如代码怎么样?
  • 你首选的无意义的变量名称是什么?(在foo&bar之后)
  • 为什么他们拼写"foo"和"bar"而不是FUBAR

language-agnostic convention naming

45
推荐指数
5
解决办法
1万
查看次数

C++"命名参数成语"与Boost ::参数库

我查看了Named Parameter IdiomBoost :: Parameter库.每个人有什么优势?是否有充分的理由总是选择其中一个,或者在某些情况下每个人都可能比另一个好(如果是的话,在什么情况下)?

c++ named-parameters boost-parameter

35
推荐指数
3
解决办法
7646
查看次数

无法编译类在具有泛型列表参数的接口中调用方法

刚刚得到一个关于泛型的问题,为什么在使用泛型List时这不会编译?如果它不可能,反正它周围?非常感谢任何答案.

// Interface used in the ServiceAsync inteface.
public interface BaseObject
{
    public String getId();
}

// Class that implements the interface
public class _ModelDto implements BaseObject, IsSerializable
{
    protected String id;

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId()
    {
        return id;
    }
}

// Interface used in the ServiceAsync inteface.
public interface MyAsync<T>
{
     // Nothing here.
}

// Service interface use both interfaces above.
public interface ServiceAsync
{
    public void getList(MyAsync<List<? extends BaseObject>> …
Run Code Online (Sandbox Code Playgroud)

java generics

2
推荐指数
1
解决办法
534
查看次数

我如何使用NLP来解析配方成分?

我需要将配方成分解析为适用于生产线的数量,量度,项目和描述,例如1杯面粉,2个柠檬皮和1杯红糖等.最好的方法是什么?我有兴趣在项目中使用python,所以我假设使用nltk是最好的选择,但我对其他语言开放.

parsing nlp

23
推荐指数
4
解决办法
9618
查看次数

跨不同框架版本的.NET序列化的稳定性

我正在处理的项目需要在关闭之前序列化数据结构,并在重新启动时从此序列化数据恢复其状态.

去年,我们正在为.NET 1.1构建,并遇到了一个棘手的问题

  • 我们的代码在.NET 2.0上运行
  • 一个客户升级了一些软件,以某种方式将1.1设置为默认值
  • 我们的代码在.NET 1.1上运行,无法反序列化其存储状态

这个特定的问题是通过禁止特定的软件升级而"解决"的,现在我们的目标是.NET 2.0框架(因此我们不能在1.1上运行)应该不是问题.

这个序列化再次在2.0和更新的框架之间再次发生变化的可能性有多大?如果我们使用<supportedVersion>将代码修改为2.0.50727,那么2.0.50727.1434和2.0.50727.nnnn(未来某个版本)之间的变化几率是多少?被序列化的数据结构是来自标准类库的数组,映射,字符串等.

此外,是否可以保证即使在进一步的.NET升级后,也将始终安装2.0.50727框架?微软文档的指针欢迎.

.net serialization versions upgrade stability

8
推荐指数
1
解决办法
2899
查看次数

在结构上使用"new"在堆或堆栈上分配它吗?

使用new运算符创建类的实例时,将在堆上分配内存.当您使用new运算符创建结构的实例时,在堆上还是堆栈上分配内存?

.net c# memory-management

281
推荐指数
4
解决办法
8万
查看次数

jQuery选择器"祖先后代"和"父>子"之间的区别

以下两种形式的jQuery选择器似乎也做同样的事情:

  • $("div> ul.posts")
  • $("div ul.posts")

这是选择"div"元素下"post"类的所有"ul"元素.

有什么区别吗?

jquery

14
推荐指数
2
解决办法
8099
查看次数

如何确定接口是否是Windows PC上的物理LAN端口?

我正在寻找一种方法来确定接口是否是Windows中PC上的物理802.3以太网端口.

使用ipconfig/all我可以列出所有接口,当我在我的电脑上执行此操作时,可以在此列出几个条目,包括VPN,蓝牙,Wifi和物理以太网接口.

我正在寻找像"isPhysical(interface)"这样的东西.(可以有多个物理局域网端口,我只是想知道它是否是物理端口).

更新:

杰伊和克里斯谢谢!

(评论中没有足够的空间,所以我会在这里发布)

我目前正在寻找使用WMI Win32_NetworkAdapter.但是,它显示4个接口,AdapterType ="Ethernet 802.3".

我的电脑上只有1个物理端口,其他人有名称"虚拟机网络服务驱动程序".(我认为这些是由我公司安装的,因为一些恶劣的原因)

我在界面中找到了我需要的属性,但它在winXP中不可用!

PhysicalAdapter数据类型:布尔值访问类型:只读

指示适配器是物理适配器还是逻辑适配器.如果为True,则适配器是物理的.Windows Server 2003,Windows XP,Windows 2000和Windows NT 4.0:此属性不可用.

有没有办法确定它是否是一个物理端口,除了对名称中的"虚拟"一词进行文本过滤?

更新12/08

如果安装了VM,则会添加虚拟接口.

以下是有关虚拟适配器的一些详细信息:http: //blogs.msdn.com/virtual_pc_guy/archive/2005/04/01/404816.aspx

发现如果用户没有管理员权限,WMI接口不返回所需数据的问题.所以,现在看一下GetAdapterInfo方法.但是,它似乎将"虚拟机服务驱动程序"添加到实际适配器的描述中,使"虚拟"文本检查无效.

并且GetAdapterInfo返回的结构:

http://msdn.microsoft.com/en-us/library/aa366062(VS.85).aspx

windows wmi admin ipconfig

5
推荐指数
2
解决办法
7077
查看次数

为什么instanceof对某些文字返回false?

"foo" instanceof String //=> false
"foo" instanceof Object //=> false
true instanceof Boolean //=> false
true instanceof Object //=> false
false instanceof Boolean //=> false
false instanceof Object //=> false

// the tests against Object really don't make sense
Run Code Online (Sandbox Code Playgroud)

数组文字和对象文字匹配......

[0,1] instanceof Array //=> true
{0:1} instanceof Object //=> true
Run Code Online (Sandbox Code Playgroud)

为什么不是所有人呢?或者,他们为什么呢?
而且,它们是什么样的呢?

在FF3,IE7,Opera和Chrome中也是如此.所以,至少它是一致的.


错过了一些.

12.21 instanceof Number //=> false
/foo/ instanceof RegExp //=> true
Run Code Online (Sandbox Code Playgroud)

javascript instanceof literals

273
推荐指数
5
解决办法
9万
查看次数