小编Mar*_*ila的帖子

反射返回对象中的SetValue与目标类型不匹配

我正在循环一个具有多个属性的类,并且正在搜索具有相同ID的任何文本框.如果有匹配,那么我想将属性值更新为文本框值,但我收到此错误:

对象与目标类型不匹配

这是代码:

foreach (var prop in contactInfo.GetType().GetProperties())                    
{                        
    var ctrl = WizardCampaign.FindControl(prop.Name) ?? Page.Master.FindControl(prop.Name);        

    if (ctrl != null)
    {
        if (ctrl.GetType() == typeof(TextBox))
        {
            var r = (TextBox)ctrl;                                                                                                                                                                                             
            prop.SetValue(prop, r.Text, null);                                
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# reflection

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

什么x:FieldModifier ="私人"做什么,我应该担心吗?

我正在检查我的WPF项目中的Resharper消息,它告诉我每个inputcontrol都可以是私有的.当我这样做时,它会添加x:FieldModifier="Private"到控制节点.

我不熟悉XAML.什么是x:FieldModifier?如果我将它设置为会发生什么Private?这很重要吗?可以打破东西吗?

c# wpf xaml private

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

你如何在C#中的string.join中使用不同的分隔符

我试着写一个简单的代码,它接受一个字符串数组并将它与2个不同的分隔符连接起来.我正在寻找的是,如果我有和阵列:

string[] myArray = new string[] {"apples","five","bananas","six","cherries","seven"};
Run Code Online (Sandbox Code Playgroud)

我想得到一个字符串:

苹果=五,香蕉=六,樱桃= 7

它不必只使用一种方法,但数组长度可能会有所不同.谢谢.

c#

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

堆的腐败以及如何在char*foobar中交换2个值[50]

这是我的代码,我不明白为什么我得到运行时检查失败#2 - 变量'tempSign'周围的堆栈已损坏.我相信错误来自尝试在char*tempSign [MAX]中交换2个值.有人可以解释为什么我得到这个错误,并帮助我解决这个问题谢谢.

void constructSet(ZodiacSign *& z,int size)
{

    /*ZodiacSign is a char *
     This is how z was created from the previous function and 
     passed by reference

     ZodiacSign * z;
     z=new char* [num];

    for (int i=0;i<num;i++)
    {
        z[i]=new char [MAXSTR]; 
    } */

    ZodiacSign tempSign [MAX]={"aquarius","pisces","aries","taurus","gemini","cancer","leo",
                               "vergo","libra","scorpio","sagittarius","capricorn"};


    for (int i=0; i<size;i++)
    {
        int x=12;
        int num=(rand()%x);

        char * ptr=tempSign[num];
        strcpy(z[i],ptr);
        swap(num,x,tempSign);

        x--;
    }
}

void swap(int num,int x,ZodiacSign tempSign [MAX])
{
    ZodiacSign temp;

    temp=tempSign[num];

    tempSign[num]=tempSign[x-1];

    tempSign[x]=temp;
}
Run Code Online (Sandbox Code Playgroud)

c++ memory debugging heap pointers

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

标签 统计

c# ×3

.net ×1

c++ ×1

debugging ×1

heap ×1

memory ×1

pointers ×1

private ×1

reflection ×1

wpf ×1

xaml ×1