问题列表 - 第33898页

强制(通用)值类型作为引用

我有一些带有一些字段的结构.其中一个字段是泛型类型.泛型类型可以是引用类型或值类型.

我想强制它在内部存储为引用,以避免结构变得太大.

struct Foo<T>
{
  T field; // should be a reference
}
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用object或者T[],但两者都很尴尬.是不是像通用的参考类型?

struct Foo<T>
{
  Reference<T> field;
}
Run Code Online (Sandbox Code Playgroud)

是的,当然,我可以写自己的.但我试图避免这种情况

c# reference value-type

8
推荐指数
2
解决办法
2463
查看次数

Xml架构 - 以任何顺序定义子元素0-*

我想定义一个xml架构,其中元素Connectors具有0-*子元素.序列,关联或消息的任何顺序和0到多次.即

<Connectors>
    <Sequence />
    <Association />
    <Message />
    <Sequence />
    <Sequence />
    <Message />
    <Message />
    <Association />
</Connectors>
Run Code Online (Sandbox Code Playgroud)

我试图定义以下架构,但似乎订单是固定的.

<xs:element name="Connectors">
    <xs:complexType>
        <xs:sequence>
            <xs:element ref="Association" minOccurs="0" maxOccurs="unbounded" />
            <xs:element ref="Message" minOccurs="0" maxOccurs="unbounded" />
            <xs:element ref="Sequence" minOccurs="0" maxOccurs="unbounded" />
        </xs:sequence>
    </xs:complexType>
</xs:element>
Run Code Online (Sandbox Code Playgroud)

xml xsd

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

在Web项目中应该使用什么编码方案?

我们正在使用Eclipse构建一个(Java)Web项目.默认情况下,Eclipse Cp1252在Windows机器上使用编码(我们使用).

由于我们在中国也有开发人员(除了欧洲),我开始怀疑这是否真的是要使用的编码.

我最初的想法是转换为UTF-8,因为"它支持所有字符集".但是,这真的很明智吗?我们应该选择其他编码吗?我看到几个问题:

1)Web浏览器如何解释默认情况下的文件?它取决于使用的语言版本吗?我在这里说的是,我们应该详细声明所使用的编码方案:

  • XHTML文件可以使用<?xml version='1.0' encoding='UTF-8' ?>声明来详细设置编码.
  • CSS文件可以设置它@CHARSET "UTF-8";.
  • JavaScript文件没有文件内声明,但可以全局定义<meta http-equiv="Content-Script-Type" content="text/javascript; charset=utf-8"><script type="text/javascript" charset="utf-8">使用特定脚本.

如果我们离开CSS文件而没有@CHARSET "UTF-8";声明怎么办?浏览器如何确定它的编码方式?

2)是否明智使用UTF-8,因为它非常灵活.通过将我们的代码锁定Cp1252(或者可能ISO-8859-1),我可以确保外国开发人员不会在文件中引入特殊字符.这有效地阻止了他们插入中文评论,例如(我们应该使用100%英语).此外,允许UTF-8有时会让开发人员意外地引入一些奇怪的角色,这些角色很难/不可能被人眼察觉.这种情况发生在人们,例如,复制粘贴文本或碰巧意外按下某些奇怪的键盘组合时.

似乎在项目中允许UTF-8只会带来问题......

3)对于国际化,我最初认为UTF-8是一件好事("如果文件编码不支持所需的字符,你如何添加翻译?").但是,事实证明,Java Resource Bundles(.properties文件)必须使用ISO-8859-1进行编码,否则它们可能会中断.相反,国际字符被转换为\uXXXX符号,例如\u0009,文件编码ISO-8859-1.所以...我们甚至无法使用UTF-8.

对于二进制文件......好吧,编码方案并不重要(我想可以说它甚至不存在).

我们该如何处理这些问题?

utf-8 character-encoding special-characters

8
推荐指数
2
解决办法
1302
查看次数

如何从lambda表达式获取引用实例的实例

我有这个lambda表达式 Expression<Func<bool>> commandToExecute

然后我用一个方法传递一个类的实例:

_commandExecuter.ProcessCommand (() => aClass.Method())
Run Code Online (Sandbox Code Playgroud)

我如何获得实例aClass的内部ProcessCommand方法?

我想执行这个类的一些addiontal方法或获取一些属性值.

这可能吗?

编辑: 我现在已经编写了一个简单的静态帮助方法来获取实例:

private static object GetReferredProviderInstance(Expression body)
{
    var methodCallExpression = body as MethodCallExpression;
    if (methodCallExpression != null)
    {
        var constantExpression = methodCallExpression.Object as ConstantExpression;
        if (constantExpression != null) return constantExpression.Value;
    }
    return null;
}
Run Code Online (Sandbox Code Playgroud)

方法调用看起来像这样......

Expression body = commandToExecute.Body; // this is the method parameter Expression<Func<bool>> commandToExecute
var referredProviderInstance = GetReferredProviderInstance(body);
Run Code Online (Sandbox Code Playgroud)

这里的问题是,ConstantExpression的转换导致了Null.所以constantExpression总是空的.

有任何想法吗?

编辑2 我修复了问题...

private static object GetReferredProviderInstance(Expression body) …
Run Code Online (Sandbox Code Playgroud)

c# lambda delegates

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

位图索引如何工作?

有没有人可以帮助我获得位图索引和反向键索引的逻辑表示?

sql database relational-database oracle9i

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

python和ruby相当于perls模板::声明?

CPAN具有Template :: Declare包.在Perl中创建HTML模板的声明性方法,不直接编写任何HTML.

我很想在python和ruby中使用类似的包.那些语言有相应的包吗?

ruby python perl

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

vim折叠混淆了语法高亮

我正在使用vim用于LaTeX而我正在使用乳胶套件.它为我提供了很好的语法高亮和折叠,但在大文件中语法高亮显示会"混乱".如果我打开所有折叠,语法高亮显示变为OK.我希望它能"一直工作".

我似乎记得一个选项会增加用作确定语法高亮的基础的行数,但我无法找到它.

vim syntax-highlighting folding

8
推荐指数
2
解决办法
1875
查看次数

为什么电子邮件不能直接加载图像

Gmail,yahoo,hotmail等电子邮件提供商不会直接在电子邮件中加载图片.这些服务要求您允许图像被加密.他们为什么这样做呢?是为了防止XSS/CSRF?

security email privacy image csrf

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

42
推荐指数
3
解决办法
5万
查看次数

类stdClass的对象无法转换为字符串

我目前遇到PHP问题,我收到此错误,

Object of class stdClass could not be converted to string 当我在我的网站中运行这部分代码时发生错误,

function myaccount() {
    $data['user_data'] = $this->auth->get_userdata($this->uri->segment(3));
    //var_dump($data['user_data']);
    $this->load->model('users_model');
    $data['user_info'] = $this->users_model->get_user_and_roadmaps_by_id($this->uri->segment(3));
    $this->template->build('users/my_account', $data);
}
Run Code Online (Sandbox Code Playgroud)

发生错误的行是这一行,

$data['user_data'] = $this->auth->get_userdata($this->uri->segment(3));
Run Code Online (Sandbox Code Playgroud)

而这一行正在调用这个函数,

   function get_userdata() {

        $CI =& get_instance();

        if(!$this->logged_in()) {
            return false;
        } else {
            $query = $CI->db->get_where('users', array('user_id' => $CI->session->userdata('user_id')));
            return $query->row();
        }
    }
Run Code Online (Sandbox Code Playgroud)

我现在不知道这个问题是什么,所以任何帮助都会很棒.

php codeigniter object stdclass

29
推荐指数
4
解决办法
28万
查看次数