小编Ili*_*a G的帖子

可以分配null吗?

可能重复:
如何检查对象是否可以为空?
确定是否可以将反射属性指定为null

如何正确识别给定类型的变量(或类成员)是否可以采用null?更具体地说,如何处理,Nullable<T>因为它不是参考类型?或者可能在其上定义一些怪异隐式转换的任何其他类型.我的直觉是找到答案的唯一可靠方法是try{} catch{}看它是否爆炸......但也许有一些技巧.

.net c# reflection .net-2.0

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

从NetworkStream中读取特定的字节数

我试图从网络流中读取已知长度的消息.我有点期待它NetworkStream.Read()会等到我给它的缓冲区数组已满.如果没有,那么该ReadTimeout物业的重点是什么?

我用来测试我的理论的示例代码

public static void Main(string[] args)
{
    TcpListener listener = new TcpListener(IPAddress.Any, 10001);
    listener.Start();

    Console.WriteLine("Waiting for connection...");

    ThreadPool.QueueUserWorkItem(WriterThread);

    using (TcpClient client = listener.AcceptTcpClient())
    using (NetworkStream stream = client.GetStream())
    {
        Console.WriteLine("Connected. Waiting for data...");

        client.ReceiveTimeout = (int)new TimeSpan(0, 1, 0).TotalMilliseconds;
        stream.ReadTimeout = (int)new TimeSpan(0, 1, 0).TotalMilliseconds;

        byte[] buffer = new byte[1024];
        int bytesRead = stream.Read(buffer, 0, buffer.Length);

        Console.WriteLine("Got {0} bytes.", bytesRead);
    }

    listener.Stop();

    Console.WriteLine("Press any key to exit...");
    Console.ReadKey(true);
}

private static void WriterThread(object state)
{ …
Run Code Online (Sandbox Code Playgroud)

sockets stream

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

XML声明编码

它实际上做了什么?在我的基本理解水平上,XML只是一种格式化的文本.因此,不涉及二进制< - >文本转换.

我非常怀疑UTF-8和ASCII编码之间的唯一区别是ASCII编码会使所有非ASCII字符转换为XML实体而不仅仅是保留的XML字符,从而使XML编写器更加困难.因此,ASCII编码的XML仍然可以包含UTF-8字符,除了它会稍微长一些并且更加丑陋.

或者还有其他一些功能吗?

更新:

我完全理解如何通过编码将单个字符转换为字节.然而,XML只是文本标记,并没有这样做.

问题确实是为什么XML编码值存储在XML中?或者XML读者需要知道哪种编码用于任何特定的XML文档?

xml

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

从父函数中检索函数参数

我的脚本中有一个函数调用,它包含一个fadeOut调用的回调函数调用.我正在尝试将paren't函数参数传递给回调函数,但我似乎无法让它工作.

一般脚本结构是:

function aFunction(aVar){
    anElement.fadeOut(200, function(){
        someFunctionCall(aVar);
    });
}
Run Code Online (Sandbox Code Playgroud)

调用正确执行,但不传递变量.这可能是变量的范围问题,但我不太明白这里的概念.

javascript jquery scope object

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

在两个单词之间添加一个空格

我有一些像"浅紫色"和"暗红色"这样的词,它们存储为"LightPurple"和"DarkRed".如何检查像"LightPurple"这样的单词中的大写字母,并在"Light"和"Purple"之间加上一个空格以形成"Light Purple"一词.

在此先感谢您的帮助

javascript

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

覆盖DateTime.Now

当我们进行开发/ QA时,我们经常需要假装当前的日期/时间不是现在.我们常常有某种依赖日期的逻辑.

简单的例子:假设商店中的产品在2010年12月15日至2011年1月3日期间可用.这两个日期将存储在DB中,代码将与之进行比较DateTime.Now.这显然需要以某种方式进行[单元]测试.问题是怎么样的?

到目前为止,我们刚刚添加了一个自定义Date对象并试图强制使用Date.Now而不是DateTime.Now,它不包括任何可能依赖于当前日期的第三方代码,并且也感觉超级蹩脚.

我想知道是否有更多犹太方式处理日期覆盖而不改变Windows中的系统日期.

.net time

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

委托返回类型的问题

有以下代码

public delegate object ParseHandler(string s);
public static ParseHandler GetParser(Type t)
{
    MethodInfo parse = t.GetMethod("Parse", BindingFlags.Static | BindingFlags.Public,
        null, new Type[] { typeof(string) }, null);

    if (parse != null)
        return (ParseHandler)Delegate.CreateDelegate(typeof(ParseHandler), parse, true);

    return null;
}
Run Code Online (Sandbox Code Playgroud)

正在Delegate.CreateDelegate()通过"绑定到目标方法的错误" 进行调用.显然是因为ParseHandler被定义为返回object而不是类型特定的返回值.

我不知道在编译类型的类型,所以我不能type用泛型替换参数(如果我这样做,那么将不需要整个函数).

对如何处理这个问题有点困惑.所需的行为是查找public static Parse(string)给定类型的方法并为其稍后调用创建委托.

.net reflection delegates .net-2.0

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

从Nullable <T>中解包T.

想要一个简单但有效的方法,在编译时不知道T时从Nullable获取值.

到目前为止有这样的事情:

public static object UnwrapNullable(object o)
{
    if (o == null)
        return null;

    if (o.GetType().IsGenericType && o.GetType().GetGenericTypeDefinition() == typeof(Nullable<>))
        return ???

    return o;
}
Run Code Online (Sandbox Code Playgroud)

什么都可以在这里完成而不需要动态代码生成?

用于.NET 2.0

.net nullable

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

标签 统计

.net ×4

.net-2.0 ×2

javascript ×2

reflection ×2

c# ×1

delegates ×1

jquery ×1

nullable ×1

object ×1

scope ×1

sockets ×1

stream ×1

time ×1

xml ×1