当前位置: 代码迷 >> C# >> C#生成类之后引用的有关问题
  详细解决方案

C#生成类之后引用的有关问题

热度:27   发布时间:2016-05-05 04:22:09.0
C#生成类之后引用的问题
做一个WPF,怎么写完类后,实例化成功了,却不能引用呢?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace WpfApplication2
{
 public class MyClass1
    {
       public void MyClass1();
       private string result;

    public string Result
    {
    get { return result; }
    set { result = value; }
    }

        
    }       
    /// <summary>
    /// MainWindow.xaml 的交互逻辑
    /// </summary>
  
    public class trans
    {
        [DllImport("trans.dll")]
        public static extern int transmain(String exportpath, String importpath);
    }
        
    
    public partial class Main : Window
    {
   

        MyClass1 mainout=new MyClass1 ();
        mainout.Result="there will show ,if transform is ok ";

------解决思路----------------------

public class MyClass1
    {
       public void MyClass1();
       private string result;
 
    public string Result
    {
    get { return result; }
    set { result = value; }
    }
 
         
    }  



public void MyClass1();这么干能编译通过么?
------解决思路----------------------
mainout.Result="there will show ,if transform is ok ";
定义到方法内
------解决思路----------------------
感觉构造函数应该是这样写的吧
public void MyClass1()
    {
        result="null";
    }


public MyClass1()
    {
        result="null";
    }
不要void

------解决思路----------------------
 public void MyClass1()
    {
        result="null";
    }

-》

 这。。。构造函数 怎么能有void!!!!
------解决思路----------------------
引用:
Quote: 引用:

mainout.Result="there will show ,if transform is ok ";
定义到方法内



定义到方法内部不就是初始化了么,那下次我要调用怎么办?[/quote

定义到方法内部后,调用方法时,完成初始化……如果想重新赋值,给方法定义一个参数

------解决思路----------------------
引用:
Quote: 引用:

感觉构造函数应该是这样写的吧
public void MyClass1()
    {
        result="null";
    }


public MyClass1()
    {
        result="null";
    }
不要void




两个都不行啊。。。。



你要达到什么效果,估计是部分方法的问题引起的,看看能不能换种实现方式
------解决思路----------------------
引用:
 public void MyClass1()
    {
        result="null";
    }

-》

 这。。。构造函数 怎么能有void!!!!

汗,,,,你的 Result 赋值应该放到Main的构造函数或者窗口的Loaded事件中赋值的。
类似:

public partial class Main : Window
    {
        MyClass1 myout=new MyClass1 ();
        public Main(){
      InitializeComponent();
  mainout.Result="there will show ,if transform is ok ";
       }
      }

------解决思路----------------------
按我的理解应该是一个类里面只能定义一些基本的变量和方法体,也就是说类只能包含定义,不能包含运算逻辑。
  相关解决方案