问题列表 - 第5556页

将自定义类型转换注入.NET库类

我想通过C#中的Convert.ChangeType实现两个库类之间的转换.我可以改变这两种类型.例如,在Guid和byte []之间进行转换.

Guid g = new Guid();
object o1 = g;
byte[] b = (byte[]) Convert.ChangeType(o1, typeof(byte[])); // throws exception
Run Code Online (Sandbox Code Playgroud)

我知道Guid提供了一个ToByteArray()方法,但我希望在Guid转换为byte []时调用它.这背后的原因是转换也发生在我无法修改的库代码(AseDataAdapter)中.那么是否可以在两种类型之间定义转换规则而无需修改两个类中任何一个的源代码?

我正在尝试使用TypeConverter,但似乎也没有工作:

Guid g = new Guid();
TypeConverter tc = TypeDescriptor.GetConverter(typeof(Guid));
byte[] b2 = (byte[])tc.ConvertTo(g, typeof(byte[])); // throws exception
Run Code Online (Sandbox Code Playgroud)

变量tc设置为System.ComponentModel.GuidConverter,它不支持转换为byte [].我可以为同一个班级安排两个TypeConverters吗?即使我可以,我不需要在类的源代码前添加属性来分配TypeConverter吗?

谢谢

.net c# guid

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

如何从c中的字符串数组中访问单个字符?

只是想了解如何处理字符串数组中的单个字符.此外,这当然会让我理解指向一般订阅的指针.如果我有char **a,我想达到的第二个字符串的第3个字符,做这项工作:**((a+1)+2)?好像应该......

c arrays string pointers

7
推荐指数
2
解决办法
3万
查看次数

我可以更改Emacs查找文件历史记录吗?

当我调用find-file打开一个新文件时,通常会发生我正在寻找的文件位于我已经加载的目录之一.

理想情况下,我想使用向上/向下箭头滚动历史记录.

这样做的问题是,如果我已经从目录中加载了10个文件,我首先必须通过这10个文件,所有文件都在同一个目录中,然后才能看到我的文件所在的新目录.

最后,我经常再次输入目录或从xterm剪切/粘贴它.

在find-file命令中,我可以更改向上/向下箭头的行为来迭代目录而不是文件.

或者,我可以更改文件顺序以匹配最近访问的缓冲区的顺序,而不是我加载文件时的顺序吗?

emacs

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

ViewState维护哪些控件?

我试图围绕控制基础设施,以了解哪些ASP.NET维护视图状态.

这些常规HTML控件有: <input type="radio" checked="checked"/>- >我知道这些没有viewstate

然后是带有runat ="server"的HTML控件 <input type="radio" checked="checked" runat="server"/>- >是否在回发之间维护视图状态?

然后有ASP.NET控件 <asp:TextBox id="txtMyText" runat="server"/>- >我知道这些有viewstate

我们有一些继承HtmlTextBox的自定义控件 <myPrefix:myTextBox id="txtMyText" runat="server"/>- >这与上面的类型2相同吗?

假设任何带runat="server"标记的控件都会保持viewstate 是否安全?

.net c# asp.net viewstate

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

我应该将SubSonic或动态数据用于新的CRUD asp.net应用程序吗?

我需要将一个快速的CRUD asp.net网站放在一起,但这可能会成为一个更大的应用程序.我有一些SubSonic的经验,但是我用它做了一个项目已经很久了,我必须重新学习它.我也在考虑使用动态数据.有没有人有这些工具的经验可以告诉我应该走哪条路?

c# vb.net asp.net subsonic dynamic-data

5
推荐指数
2
解决办法
1433
查看次数

列出<T>投射算法和性能注意事项

我有以下代码

class Program
    {
        static void Main(string[] args)
        {
            List<A> aList = new List<A>();

            var aObj = new A();

            aObj.Go(aList.Cast<IB>());
        }
    }

    class A : IB
    {
        public void Go(IEnumerable<IB> interfaceList)
        {
            foreach (IB ibby in interfaceList)
            {
                Console.WriteLine("Here");
            }
        }
    }

    interface IB
    {
        void Go(IEnumerable<IB> interfaceList);
    }
Run Code Online (Sandbox Code Playgroud)

}

我最初尝试传递一个List,但这不起作用.经过SO的大量帮助后,我发现传递IEnumerable是获取对象的唯一方法.ofType(IB).

不幸的是,在我的代码中,以下行将被执行数千次:

aList.Cast<IB>();
Run Code Online (Sandbox Code Playgroud)

我想知道是否有人知道它是如何通过算法实现的(在IL中)以及它的时间顺序.

也就是说,它是否比仅仅投射每个项目的foreach循环更快,还是它正是它的作用?

编辑主类需要维护实际对象的列表.但是只允许读者通过界面触摸它们.

c# performance casting generic-list

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

带有Mary RC刷新的VaryByParam =“ None”的OutputCache错误

使用而不是时通过ASP.NET RC刷新解决了此缺陷VaryByParam=""VaryByParam="None"

缓存作品,但是页面http://www.yoursite.comhttp://www.yoursite.com/home/index似乎将分别缓存。

VaryByParam=""和之间有什么区别VaryByParam="None"

编辑:我的意思是VaryByParam=""不是VaryByParam =“ *”,因为该错误仍然存​​在与VaryByParam =“ *”

asp.net-mvc outputcache

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

ec2机器有多稳定?

在Amazon ec2中,正在运行的计算机实例崩溃的频率如何?有没有人经历过这个?

amazon-ec2 amazon-web-services

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

如何更正此程序执行的错误?

我已经尝试过所有的东西,这是我的第一个C++程序,但它并没有出来.我收到两条错误消息.error7:1 warning: character constan too long for its type.7:error: expe

//My first C++ program
#include <iostream>
int main():
{
    "-std::cout << "I will get it" << -std::cout::end1";
    "-std::cout << "I hope so" << -std::end1;
    return(0);
}
Run Code Online (Sandbox Code Playgroud)

c++

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

Django覆盖表单

某些形式的另一个问题

这是我的模特

class TankJournal(models.Model):
    user = models.ForeignKey(User)
    tank = models.ForeignKey(TankProfile)
    ts = models.IntegerField(max_length=15)
    title = models.CharField(max_length=50)
    body = models.TextField()
Run Code Online (Sandbox Code Playgroud)

这是我的模型

class JournalForm(ModelForm):
    tank = forms.IntegerField(widget=forms.HiddenInput()) 

    class Meta:
        model = TankJournal
        exclude = ('user','ts')
Run Code Online (Sandbox Code Playgroud)

这是我保存它的方法

def addJournal(request, id=0):
    if not request.user.is_authenticated():
        return HttpResponseRedirect('/')

    #
    # checking if they own the tank
    #
    from django.contrib.auth.models import User
    user = User.objects.get(pk=request.session['id'])

    if request.method == 'POST':
        form = JournalForm(request.POST)

        if form.is_valid():
            obj = form.save(commit=False)

            #
            # setting the user and ts
            #
            from time …
Run Code Online (Sandbox Code Playgroud)

python forms django

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