1

我是使用 silverlight 5 的 c# web 应用程序初学者。在我处理 c# 控制台应用程序之前,我的代码体是这样工作的。

    namespace check
    {
     public class main
     {
      public void FunctionDefinition1()
      {
      //Inside something
      }

     }

     public class second
     {
      public static void Main(string[] args)
      {
       main object = new main();//this is how the objects were created and here the constructor was called.
       object1.FunctionDefinition1(); //I was calling the FunctionDefinition1 like this here 
      }

     }

    }

但是当我尝试在 c# silverlight(asp.net web 应用程序)中创建一个 web 应用程序时。我不知道如何从其他类调用函数定义以及在该类中如何以及在何处创建对象?

I have created a small project names as "Fun". see the code below


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Animation;
    using System.Windows.Shapes;

    namespace Fun
    {
        public partial class MainPage : UserControl
        {
            public MainPage()
            {
                InitializeComponent();
            }

            public void merge(int head)
            {
                MessageBox.Show("check1");
            }
        }
        public class she
        {
            MainPage obj1 = new MainPage();
            obj1.merge(1); //It is not working gives red line, means error.
        }
    }

有人可以使用以下代码向我解释一下银灯 C# 代码:

(1)如何创建类的对象(我的意思是当我们创建该类的对象时初始化构造函数,这里是否相同,如果是,那么为什么它在 VS 2010 中在 merge() 函数调用中给出红线使用 MainPage 类的对象)。

(2)这个InitializeComponent()是做什么的;做 ?

(3) 为什么里面没有 public static void Main(string[] args)函数?那么控制如何通过编译器传递。

(4) 假设如果我在 GUI 中插入一个按钮,那么现在代码更改为:

 using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Animation;
    using System.Windows.Shapes;

    namespace Fun
    {
        public partial class MainPage : UserControl
        {
            public MainPage()
            {
                InitializeComponent();
            }

            public void merge_sort(int head)
            {
                MessageBox.Show("check1");
            }

            private void button1_Click(object sender, RoutedEventArgs e)
            {

            }
        }
        public class she
        {
            MainPage obj1 = new MainPage();
            obj1.button1_Click(....);//It don't recognize "obj1" object. Why ?
        }
    }

现在是否可以从另一个类“she”调用 button1_Click() 函数?感谢有人能解释一下编译器如何控制这个 c# 代码,而我看不到任何" public static void Main(string[] args)"函数。

非常感谢您回答这些问题。

4

1 回答 1

2

更新

我想我发现了你的错误。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace Fun
{
    public partial class MainPage : UserControl
    {
        public MainPage()
        {
            InitializeComponent();
            merge_sort();
        }

        public void merge_sort()
        {
            she Object1 = new she();
            Object1.DoMethod(2);//Now this will do your work.
        }

    }
    public class she
    {
        public void DoMethod(int head)
        {
           //Do what do you want
        }

    }
}

请解释如何访问她的班级?

2)。初始化组件();

用我的话来说,我认为它具有您的所有输出,并且它也存在于已编译的程序集中。

3)。公共静态无效主要(字符串[] args);

在 WPF Silverlight WP8 应用程序中不需要这个,因为在 App.Xaml 构建时会自动生成 Main 方法。如果您查看项目属性,您会发现有一个设置供您选择启动对象。因此,如果您愿意,您可以提供自己的实现 Main() 的类。

于 2014-04-04T03:42:52.760 回答