我在我的项目中创建了一个类来创建一个可以从其他形式执行的"全局方法".我不确定这是不好的做法,但因为它是一个static class
,我不能(轻松)使用Random
它.我的代码没有声明随机如下.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using DefaultNamespace;
namespace LevelGenerator
{
public static class LevelGen
{
static int levelIndex = 0;
static DefaultNamespace.frmSplashScreen myMenu = new DefaultNamespace.frmSplashScreen();
public static void NewLevel()
{
levelIndex = rnd.Next(1, 6);
简而言之,我需要一种可以从任何地方调用的方法 - 这就是为什么我使用了static class
- 但它也需要有一个Random
.我想有很多方法可以做到这一点.
您可以添加静态构造函数来初始化类(静态)变量.或者就此而言,您可以简单地使用组合的初始化和声明语句.
所以要么明确:
namespace LevelGenerator { public static class LevelGen { static Random random; static LevelGen() { random = new Random(); } // ... } }
或隐含的:
namespace LevelGenerator { public static class LevelGen { static Random random = new Random(); // ... } }