小编Psy*_*nic的帖子

如何实现此公共可访问枚举

我正在尝试访问我班级的私人词汇.但我不明白与其他成员相比,让它运作所需的差异;

如果这样做:

private double dblDbl = 2;

//misc code

public double getDblDbl{ get{ return dblDbl; } }

为什么我不能用enum做呢?

private enum myEnum{ Alpha, Beta};

//misc code

public Enum getMyEnum{ get{ return myEnum; } }
//throws "Window1.myEnum" is a "type" but is used like a variable

c# enums enumeration

4
推荐指数
1
解决办法
177
查看次数

缺少类型或命名空间名称

这是一个奇怪的,不是我之前遇到过的.如果我在根文件夹中有我的类(不在App_Code中),我的项目符合并运行正常.

一旦我将它们移动到App_Code文件夹中,它就会编译,但运行它会显示旧的

CS0234: The type or namespace name 'Linq' does not exist in the namespace 'System.Data' (are you missing an assembly reference?)

我不明白如何将类移动到App_Code文件夹会导致整个事物分崩离析?

项目目标是VWD 2010 Express上的.Net 4

c# asp.net

4
推荐指数
1
解决办法
5312
查看次数

在 RichTextBox 顶部插入

这段代码有什么问题吗?尝试让我的文本插入到文本框的开头而不是底部。

私人无效execute_Click(对象发送者,EventArgs e){
  startFinshBox.Text = "开始时间:" + printTime()+"";
  startFinshBox.Text.Insert(0,printTime()+": 检索结果...\n");
}

但它不会将第二行插入到 rtb 中。我也尝试过 startFinishBox.SelectionStart = 0 ,但没有什么区别。我还缺少其他东西吗?

谢谢,齐

c# richtextbox

3
推荐指数
1
解决办法
6129
查看次数

使用SQL参数绑定是否可以直接从输入中输入文本?

正如标题所说,如果我使用SQL参数,即

SQLCommand cmd = new SQLCommand("select * from users where username = @user and password = @pass limit 1", Cxn);

cmd.Parameters.Add("@user", SqlDbType.VarChar):
cmd.Parameters.Add("@pass", SqlDbType.VarChar):
Run Code Online (Sandbox Code Playgroud)

我可以直接输入参数值作为输入的直接输入吗?

cmd.Parameters["@user"].value = txtBxUserName.text;
cmd.Parameters["@pass"].value = txtBxPassword.text;
Run Code Online (Sandbox Code Playgroud)

当你寻找与转义字符串等有关的任何东西时,这似乎是建议的,最终答案是让参数绑定做到这一点.但这能否防止注射攻击等?或者你还需要执行一些服务器端验证吗?

来自面向严密的PHP背景,它反对我身体的每一根纤维,直接将文本输入查询:p

c# sql asp.net validation

3
推荐指数
1
解决办法
1474
查看次数

缩小泛型类型,即 keyof 类型而不指定泛型参数

如果这在某个地方重复,我深表歉意,我的谷歌无法找到正确的单词来缩小结果范围。

我正在尝试创建一个辅助函数来重用某些功能,但无法完全弄清楚是否/如何实现它。

给定一个带有泛型的函数(或类型),其中一个参数是指定泛型类型的键,函数返回类型被确定为泛型类型上特定属性的返回类型,而不是每个属性类型的并集关于泛型类型。

interface MyObject {
  readonly foo: Date;
  readonly bar: number;
  readonly wizz: string;
  readonly bang: boolean;
}

function getHelpers<ItemType>(key: keyof ItemType) {
  return (item: ItemType) => item[key];
}

const res = getHelpers<MyObject>('bang');
// Has type of `(item: MyObject) => string | number | boolean | Date`, when I need it to have `(item: MyObject) => boolean`
Run Code Online (Sandbox Code Playgroud)

我知道如果我添加一个辅助泛型参数来缩小键类型,那么它就可以工作:

function getHelpers<ItemType, KeyType extends keyof ItemType>(key: KeyType) {
  return (item: ItemType) => item[key];
}

const res = getHelpers<MyObject, 'bang'>('bang'); // Has …
Run Code Online (Sandbox Code Playgroud)

typescript

3
推荐指数
1
解决办法
515
查看次数

C#代码通过命名空间重用

我喜欢创建一个充满自定义函数的文件,我可以在另一个项目中使用它.现在我还没有完全理解如何解决这个问题,通常使用像php这样的语言,你只需要创建php文件然后去包含("cust_lib.php")或者调用任何文件.

现在我认为该过程涉及库具有自己的命名空间,然后使用custom_lib; 或者脚本中的custom_lib ::我不想讨论哪个是最好的方法去这里.

这是正确的吗?或者我应该创建库并将其转换为.dll,如果是这样我该怎么做呢,dll里面有什么样的语法等等.

但是,如果它只是在一个项目中的文件,那么我不需要沿着那条路走下去吗?我可以创建命名空间并使用它吗?

这就是我目前正在努力的方向,并认为它会是这样的

namespace Custom_Lib{
  ~~functions to go here~~
}
Run Code Online (Sandbox Code Playgroud)

但是这个功能必须存在于一个类中,不是吗?这就变成了类似的东西

namespace Custom_Lib{
  class custom_lib{

    public string function1(string input){
      return input;
    }

  }
}

所以一些帮助,指针,例子将受到赞赏,所以我可以围绕这个

谢谢,Psy.

(是的,我把它们称为函数,这只是来自一个很长的php/js等背景)

c# namespaces

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

appcache网络中的SSL路径受Chrome限制

看到Chrome中的一些奇怪行为,并且在使用appcache或Chrome时不确定它是否是预期的行为.

它是一个单页面应用程序,由我们的RestAPI提供支持,它在HTTP下请求RestAPI时工作正常,但是一旦我们将url更改为HTTPS版本,它就会停止工作.Chrome控制台中没有很多(即任何)信息,因为它决定停止工作.

我们已经设法将其缩小到NETWORKappcache文件中的部分,我们可以使用它的唯一方法是使用*我们不想做的通配符,因为它绕过了appcache的整个点,并降低安全性(从我阅读文档等的理解).

我们已经尝试了API网址的任何和所有变体(如在各种相关位置中它与通配符的组合),但似乎没有工作(即使https://*不允许成功请求).

任何有经验的人都知道发生了什么事吗?

谢谢

html5-appcache

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

无法添加到csharp字典定义,接收"对象引用未设置为实例..."

嘿伙计们,我正在尝试添加到字典中,并接受"对象引用未设置为对象的实例".错误.我认为这意味着我试图将其设置为不存在?

这是相关代码:

                Dictionary<string, Dictionary<int, Dictionary<string, string>>> user = new Dictionary<string, Dictionary<int, Dictionary<string, string>>>();
            user.Add("approved", null);
            user.Add("pending", null);
            user.Add("declined", null);
            int zz = 0;

            while (results.Read())
            {
                Dictionary<string, string> field = new Dictionary<string, string>();
                for (int i = 0; i < results.FieldCount; i++)
                {
                    switch (fds[i].ToString())
                    {
                        case "gender":
                            string gend = ((Convert.ToBoolean(results[i])) == false) ? "Male" : "Female";
                            field.Add("gender", gend);
                            break;
                        default:
                            field.Add(fds[i], results[i].ToString());
                            break;
                    }
                }
                string status = results[0].ToString();
                user["approved"].Add(zz, field);
                zz++;
            }
Run Code Online (Sandbox Code Playgroud)

我在开始设置三个词典的方式有问题吗?谢谢,

精神科

c#

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

XPath仅选择一定数量的级别

如果我有这样的xml结构

<root>
  <sub>
    <node />
    <node />
  </sub>
    <sub>
      <node />
    <sub>
  <sub>
    <sub>
      <node />
    </sub>
  </sub>
  <sub>
    <sub>
      <sub>
        <node />
      </sub>
      <node />
    </sub>
  </sub>
  <node />
  <node />
</root>

是否有一个xpath语法只能选择前三个节点级别?

所以它会收集

<root>
  <sub>
    <node />
    <node />
  </sub>
    <sub />
  <sub>
    <sub />
  </sub>
  <sub>
    <sub />
  </sub>
  <node />
  <node />
</root>

UPDATE

只是为了解释我正在做什么,我有一个asp:treeview,我绑定到一个asp:xmldatasource,我希望树视图只能深入三个节点.有可能在treeview或xmldatasource控件上以另一种方式执行它,但xpath似乎最明显

谢谢,Psy

xpath

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