的IHideObjectMembers
特技(又名IFluentInterface
)可用于例如,在连贯接口实现隐藏System.Object
从智能感知构件.(如果你不知道这个技巧,你可以通过上面的链接阅读它;我只是在这里重复界面的通常声明:)
using System;
using System.ComponentModel;
[EditorBrowsable(EditorBrowsableState.Never)]
public interface IHideObjectMembers
{
[EditorBrowsable(EditorBrowsableState.Never)] bool Equals(object obj);
[EditorBrowsable(EditorBrowsableState.Never)] int GetHashCode();
[EditorBrowsable(EditorBrowsableState.Never)] Type GetType();
[EditorBrowsable(EditorBrowsableState.Never)] string ToString();
}
Run Code Online (Sandbox Code Playgroud)
我现在应该能够隐藏System.Object
其他类型的成员,如下所示:
public class SomeClass : IHideObjectMembers { ... }
Run Code Online (Sandbox Code Playgroud)
要么:
public interface ISomeInterface : IHideObjectMembers { ... }
Run Code Online (Sandbox Code Playgroud)
我在VS 2008 Express和VS 2008 Standard中都试过这个.但是,根本没有成员隐藏IntelliSense.我已经EditorBrowsableAttribute
在不同的项目中使用它,它总是运作良好; 但是,它在这种特定情况下不起作用.
http://i48.tinypic.com/vhb4fq.jpg
如果事情按预期发挥作用,我只会看到这种SomeMethodTwo
方法.
我错过了什么吗?
PS:您可以从声明和屏幕截图中推断出我的示例代码.我有一个SomeClass
叫做单个虚拟方法的类SomeMethodTwo
.非常简单.我没有System.Object
在这个类中重新实现这四个方法,因为这不是必需的.
使用嵌套类对常量进行分组有什么问题?
像这样:
public static class Constants
{
public static class CategoryA
{
public const string ValueX = "CatA_X";
public const string ValueY = "CatA_Y";
}
public static class CategoryB
{
public const string ValueX = "CatB_X";
public const string ValueY = "CatB_Y";
}
}
Run Code Online (Sandbox Code Playgroud)
像这样使用:
Console.WriteLine(Constants.CategoryA.ValueY);
Console.WriteLine(Constants.CategoryB.ValueX);
Run Code Online (Sandbox Code Playgroud)
你也可以使"常数" - 类偏...
嘿所有,我是Java的新手,想知道我是否定义了一个返回数据库对象的方法
喜欢
import java.sql.*;
public class DbConn {
public Connection getConn() {
Connection conn;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
if(System.getenv("MY_ENVIRONMENT") == "development") {
String hostname = "localhost";
String username = "root";
String password = "root";
}
conn = DriverManager.getConnection("jdbc:mysql:///mydb", username, password);
return conn;
} catch(Exception e) {
throw new Exception(e.getMessage());
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果连接失败,当我尝试创建它时应该返回什么?eclipse告诉我我必须返回一个Connection对象但是如果它失败了我不知道该怎么做.
谢谢!
更新代码以获得例外气泡:
public class DbConn {
public Connection getConn() throws SQLException {
Connection conn;
String hostname = "localhost";
String username = "root";
String password = "root";
Class.forName("com.mysql.jdbc.Driver").newInstance();
if(System.getenv("MY_ENVIRONMENT") …
Run Code Online (Sandbox Code Playgroud) 我尝试找到一个问题的解决方案....我们有一个数字,例如:20 ...我们有6个数字:{a,b,c,d,e,f} <20,t试图找到这些数字的所有值,但前提是我们可以组合(whit +或 - )whit这个数字并将所有值低于20:例如
我们选择31:
a = 22 b = 21 c = 14 d = 11 e = 9 f = 5
我们有:22 - 21 = 1; 11 - 9 = 2; 14 - 11 = 3; 9 - 5 = 4; f = 5; 11 - 5 = 6; 21 - 14 = 7; .... .... .... .... 21 + 9 = 30; 9 + 22 = 31;
我可以使用Apple的代码顺序播放两个视频(并且没有停顿!)(参见第2-4节)......
......然而,完全失去了如何播放第3或第5个视频.麻烦的是我是一个Javascript noob :-(所以,如果你想出这个,请尽可能多地分享你的代码.
我有一个显示文件列表的网页(file_list.php
),每个文件旁边都有一个删除它的按钮.当用户按下DELETE按钮接近某个文件名时,浏览器会转到一个名为删除该文件的脚本delete_file.php
,然后它会告诉浏览器返回file_list.php
delete_file.php
使用简单header("Location: file_list.php”);
回去file_list.php
当浏览器返回到file_list.php
它重新加载页面时,它不会再将其向后滚动到用户之前的位置.因此,假设用户滚动文件列表并删除了最后一个文件,当浏览器再次显示页面时file_list.php
,它将不会再次滚动到页面底部.
我发现了一个奇怪的方式来解决这个问题,基本上而不是使用header("Location: file_list.php”);
在delete_file.php
我简单地使用javascript调用window.history.go(-1)
.
当用户在会话中时(这只是使用PHP session_start
函数),这种解决方法非常有效:浏览器RELOADS file_list.php页面,然后将其滚动回原来的位置.
但是如果用户不在会话中,浏览器会滚动页面,但之前它不会重新发送它,因此用户仍然会在文件列表中看到他删除的文件.
你是否知道如果重新开始会话,即使我们不在会话中,也会重现浏览器的行为?
你知道一种方法,甚至是另一种解决这个问题的方法吗?
谢谢!
我知道我可以使用AJAX删除文件,所以我不必每次都去delete_file.php,但这不是答案.
我有以下代码:
foo :: Int -> [String] -> [(FilePath, Integer)] -> IO Int
foo _ [] _ = return 4
foo _ _ [] = return 5
foo n nameREs pretendentFilesWithSizes = do
result <- (bar n (head nameREs) pretendentFilesWithSizes)
if result == 0
then return 0 -- <========================================== here is the error
else foo n (tail nameREs) pretendentFilesWithSizes
Run Code Online (Sandbox Code Playgroud)
我在上面的评论的行上得到一个错误,错误是:
aaa.hs:56:2:
parse error (possibly incorrect indentation)
Run Code Online (Sandbox Code Playgroud)
我正在使用emacs,没有空格,我不明白我做错了什么.
我试图得到一个(9)数字的数组,然后打印,但我一直只带回一个结果 - 数组中的数字平方 - 显然不是我想要的.谢谢你的帮助.好的,到目前为止,这是我可怕的代码.试图将它传递给方法.
public static void main ( String args[] )
{
double[] nums = {126, 12.939, 795, 320.16,
110, 34.7676, 7773, 67, 567, 323};
System.out.println ("Square root is " +square);
square(nums);
}
public static double square (double [] array) {
double result;
for( double i = 0; i < array.length ; i++ )
result = Math.sqrt(array[i]);
return result;
}
}
Run Code Online (Sandbox Code Playgroud) c# ×2
java ×2
javascript ×2
algorithm ×1
arrays ×1
audio ×1
class-design ×1
constants ×1
filter ×1
haskell ×1
header ×1
html5-video ×1
indentation ×1
intellisense ×1
nested-class ×1
php ×1
session ×1
square-root ×1