在清洗一些代码,今天是别人写的,我是从改变访问修饰符Public来Private上一类变量/成员/场.我期待一长串编译器错误,我用它来"重构/返工/审查"使用此变量的代码.想象一下,当我没有收到任何错误时,我感到惊讶.在审阅之后,事实证明,Class的另一个实例可以访问Class中声明的另一个实例的私有成员.完全未被发现.
这是正常的吗?我从一开始就在.NET中编写代码,从未遇到过这个问题,也没有读过它.我之前可能偶然发现它,但只是"模糊地注意到"并继续前进.任何人都可以向我解释这个行为吗?我想知道"为什么"我能做到这一点.请解释一下,不要只告诉我规则.难道我做错了什么?我在C#和VB.NET中都发现了这种行为.代码似乎利用了访问私有变量的能力.缺点是程序员创造了一大块Spaghetti.
此致
Class Jack
Private _int As Integer
End Class
Class Foo
Public Property Value() As Integer
Get
Return _int
End Get
Set(ByVal value As Integer)
_int = value * 2
End Set
End Property
Private _int As Integer
Private _foo As Foo
Private _jack As Jack
Private _fred As Fred
Public Sub SetPrivate()
_foo = New Foo
_foo.Value = 4 'what you would expect to do because _int is private
_foo._int …Run Code Online (Sandbox Code Playgroud) 假设我们正在运行已编译的C++二进制文件:
传递int(例如函数函数,或将其写入变量)比传递结构/类对象(如下所示)慢?
class myClass
{
int a;
int b;
char c;
vector d;
string e;
}
Run Code Online (Sandbox Code Playgroud) 我有一个iPhone应用程序,并希望创建它的iPad版本.当您想要iPhone和iPad版本的应用程序时,设置项目的最佳方法是什么?
我没有看到我能够使用相同的代码库,因为iPad版本将具有iPhone版本没有的功能.对于同一个应用程序来说,维护似乎会有两个相似的代码库.
我有一个简单的问题,但它让我感到困惑.以下代码获取UIControlTouchUpInside的UNDEFINED错误.我需要包含或导入什么?如果我注释掉这一行,它就可以了.这意味着forState:定义了UIControlStateNormal.我是新人,所以希望你能提供帮助.
UIButton * button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button setTitle:@"Accept?" forState:UIControlStateNormal];
[button addTarget:self action:@selector(acceptTapped) forControlEvents:UIControlTouchUpInside];
Run Code Online (Sandbox Code Playgroud) 我有一个由以下SQL定义的表:
CREATE TABLE test (
id integer PRIMARY KEY NOT NULL UNIQUE,
status text NOT NULL,
enddate date,
/* Checks */
CHECK (status IN ("Current", "Complete"))
);
Run Code Online (Sandbox Code Playgroud)
我想补充一点,需要约束enddate为非空当的status是"完成".
这可能吗?我使用的是SQLite v3.6.16.
因此,我正在观看Google的Marissa Mayer关于加速谷歌网页的演讲.他们发现购物车图标的加载时间增加了2%,然后用户搜索量减少了2%.他们设法用HTML表替换图标.
这是我尝试绘制购物车:( 实时示例页面)
<html>
<head>
<style>
table {border-collapse: collapse;}
th, td {width: 8px; height: 8px;}
th {background-color: blue;}
td {background-color: white;}
</style>
</head>
<body>
<table>
<!-- this row is just to see alignment -->
<tr>
<td></td><td></td><td></td><td></td><td></td>
<td></td><td></td><td></td><td></td><td></td>
<td></td><td></td><td></td><td></td><td></td>
<td></td><td></td><td></td><td></td><td></td>
</tr>
<!-- handle -->
<tr>
<td colspan="14"></td>
<th colspan="3"></th>
<td colspan="3"></td>
</tr>
<tr>
<td colspan="13"></td>
<th colspan="2"></th>
<td colspan="1"></td>
<th colspan="2"></th>
<td colspan="2"></td>
</tr>
<tr>
<td colspan="13"></td>
<th colspan="2"></th>
<td colspan="1"></td>
<th colspan="2"></th>
<td colspan="2"></td>
</tr>
<tr> …Run Code Online (Sandbox Code Playgroud) 我无法弄清楚为什么......
这有效:
<?php
if($_POST['test']) echo "posted";
?>
<form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="submit" name="test" />
</form>
Run Code Online (Sandbox Code Playgroud)
这不是:
<?php
if($_POST['test']) echo "posted";
?>
<form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="image" name="test" src="images/button.submit.png" />
</form>
Run Code Online (Sandbox Code Playgroud) 我对条件运算符有点疑惑.请考虑以下两行:
Float f1 = false? 1.0f: null;
Float f2 = false? 1.0f: false? 1.0f: null;
Run Code Online (Sandbox Code Playgroud)
为什么f1变为null而第二个语句抛出NullPointerException?
Langspec-3.0 para 15.25 sais:
否则,第二和第三操作数分别是S1和S2类型.设T1是将拳击转换应用于S1所产生的类型,让T2为应用到S2的装箱转换所产生的类型.条件表达式的类型是将捕获转换(第5.1.10节)应用于lub(T1,T2)(第15.12.2.7节)的结果.
所以对于false?1.0f:nullT1是Float而T2是null类型.但结果是lub(T1,T2)什么?第15.12.2.7段只是有点太多了......
顺便说一句,我在Windows上使用1.6.0_18.
PS:我知道Float f2 = false? (Float) 1.0f: false? (Float) 1.0f: null;不会抛出NPE.
java type-conversion nullpointerexception conditional-operator
我已经创建了一个我希望能够推广的软件.我希望能够在论坛等上发布它,为此我需要一个主页.
是否有可以使用的开源C#项目主页?
我正在寻找的功能就像添加新版本(可能是软件的版本控制),下载和用户指南.所以我想要的是非常基本的:我希望能够上传并让用户下载.
我也是自己写的,但我想如果有开源项目已经做到了这一点,他们可能会更好.
这可能不是一个罕见的问题,所以请引导我一些资源,以便我可以创建我的页面并发布我的软件!:)
该getRGB()方法返回单个int.如何将红色,绿色和蓝色单独作为0到255之间的值?
cocoa-touch ×2
iphone ×2
java ×2
.net ×1
c# ×1
c++ ×1
class-design ×1
constraints ×1
drawing ×1
form-submit ×1
html ×1
html-table ×1
ipad ×1
objective-c ×1
open-source ×1
performance ×1
php ×1
project ×1
sql ×1
sqlite ×1
uibutton ×1
uicontrol ×1